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
![]()
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.
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
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
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
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)
Calculer la somme avec le pourcentage inclus.
Formule: =somme*(1+pourcentage)
Calculer le pourcentage.
Formule: =somme*pourcentage
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.
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
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
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"
.