Diverses petites astuces

 

A partir du numéro de semaine, je souhaite connaitre la date du 1er jour de la semaine correspondante.

Exemple: année 2001 cellule A1 et semaine 32 cellule B1
Mettre dans la cellule recevant la date la formule =lundi(A1;B1)
Attention la cellule réceptrice doit être au format date
Function lundi(année As Integer, nbsem As Integer)
'retourne le lundi correspondant à un numéro de semaine donnée
'pour une année donnée
Dim premierjour As Date
premierjour = DateSerial(année, 1, 1)
If WeekDay(premierjour) = 6 Or WeekDay(premierjour) = 7 Then
'si le 1er janvier tombe un vendredi ou un samedi
premierjour = premierjour - WeekDay(premierjour) + 2
Else
premierjour = premierjour - WeekDay(premierjour) - 5
End If
lundi = premierjour + 7 * nbsem
End Function
Ou avec la formule suivante pour connaitre la date du premier jour du numéro de semaine.
Si en a1 tu as le numéro de la semaine et en b1 l'année, pour avoir la date du premier jour de la semaine cela donne ....
=7*A1+DATE(B1;1;3)-JOURSEM(DATE(B1;1;3))-5
Retour liens Excel

 


Afficher un format horaire 8H50.

Format cellule: h "h" mm
P.S. N'oublie pas que tu dois taper dans la cellule 8:55 pour obtenir 8 h 55
L'entrée des 2 points est important.

Retour liens Excel

 


Inscrire le nom du fichier ainsi que le cheminement dans le bas de page.

Attention il faut enregistrer le classeur avant.
Macro pied de page a mettre dans le module.
Sub PiedDePage()
Dim MyPath As String
Dim MySheet As Worksheet
MyPath = ActiveWorkbook.FullName
For Each MySheet In ActiveWorkbook.Worksheets
MySheet.PageSetup.RightFooter = "&8 " & MyPath
Next MySheet
End Sub
Ou une autre macro dui trace pas le pied de page.
Sub MiseEnPage()
ActiveSheet.PageSetup.LeftFooter = ThisWorkbook.FullName
End Sub

Retour liens Excel

 


Masquer la barre horizontale de lettres et vertical de chiffre.

Macro pour éliminer les barres.
Sub Masquer()
ActiveWindow.DisplayHeadings = False
End Sub
Macro pour réactiver les barres.
Sub Masquer()
ActiveWindow.DisplayHeadings = True
End Sub

Retour liens Excel

 


Convertion automatique Francs Euros dans un commentaire.

La cellule est formatée en francs et on ajoute automatiquement à la saisie d'une valeur la conversion en euros sous forme de commentaire .
Macro à inscrire dans le module de la feuille de calcul concernée .
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
With Target
.NumberFormat = "0.00"" F"""
.AddComment.Text Text:=Format(Target / 6.55957, "0.00") & " ?"
.Comment.Shape.TextFrame.AutoSize = True
End With
End Sub

Retour liens Excel


Ecrire dans une cellule le chemin d'acces à la feuille Excel.

1. Chemin d'accès complet :
=CELLULE("filename";A1)
2. Répertoire :
=GAUCHE(CELLULE("filename";A1);TROUVE("[";CELLULE("filename";A1))-2)
3. Nom du classeur seul :
=STXT(CELLULE("filename";A1);TROUVE("[";CELLULE("filename";A1))+1;SOMME(TROUVE({"[";"]"};CELLULE("filename";A1))*{-1;1})-1)
4. Nom de la feuille :
=STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)
5. Répertoire + classeur :
=SUBSTITUE(GAUCHE(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))-1);"[";"")
6. Nom du classeur et de la feuille :
=STXT(CELLULE("filename";A1);TROUVE("[";CELLULE("filename";A1));300)

Retour liens Excel


Calcul sur les pourcentages.

Calculer la somme avec le pourcentage inclus.
Formule: =somme*(1+pourcentage)
Calculer le pourcentage.
Formule: =somme*pourcentage

Retour liens Excel

 


Ouvrir un classeur sur une feuille voulue.

Inclure cette macro dans le ThisWorkbook:
Sub Workbook_open()
Sheets("Feuil2").Select
End Sub
modifier la feuille que vous désirez.

Retour liens Excel

 


Ecrire la date d'une saisie de cellule dans une feuille.

Dans une feuille de calcul d'Excel, signifier dans une cellule, l'heure d'une saisie dans une autre.
Ceci, d'une façon non volatile, ce que ne permet pas la fonction "maintenant()".
Une macro automatique à installer dans le module de la feuille intéressé:
Une saisie en colonne A provoque l'écriture en colonne B, même ligne, de la date et de l'heure courantes.
Formate les cellules de ta colonne B pour afficher ce que tu veux , en date, heure, minutes.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(, 1).Value = Now
End If
End Sub
Ou sans macro.
Tu peux taper le contenu de la cellule puis un espace et faire ctrl + : dans la cellule

Retour liens Excel

 


Ajuster automatiquement la largeur d'une colonne suivant l'écriture.

A mettre dans le module feuille dans laquelle se trouve par exemple la cellule C10 de ta donnée.
Achaque fois que tu saisis une nouvelle donnée manuellement dans la cellule C10, la totalité des colonnes de la plage que tu vas définir, s'ajusteront automatiquement.
Macro à copier:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("C10").Address Then
Range("A1:F20").Columns.AutoFit
End If
End Sub

Retour liens Excel

 


Multiplier simplement une série de valeur par une valeur unique.

Met "6" dans une cellule vierge, place toi sur cette cellule et fait "edition" "copier"
Puis selectionne toute tes cellules a multiplier, fait "edition" "collage special" , choisit "multiplication" et fait "OK" .

Retour liens Excel