Bonjour al87, Bruno,
pour l'optimisation de ton code VBA, ceci devrait t'aider :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lig&: lig = Target.Row: If Cells(lig, 2) & Cells(lig, 3) = "" Then Exit Sub
Cells(lig, 1) = Application.Proper(Format(Ladate, "dddd dd mmmm yyyy")) 'date avec un format long
Cells(lig, 8) = Ladate 'date avec un format court
End Sub
s'il y a des instructions qui sont dessous et avant le End Sub, utilise ceci :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lig&: lig = Target.Row
If Cells(lig, 2) & Cells(lig, 3) <> "" Then 'attention : le = a été changé en <>
Cells(lig, 1) = Application.Proper(Format(Ladate, "dddd dd mmmm yyyy")) 'date avec un format long
Cells(lig, 8) = Ladate 'date avec un format court
End If
'mets ici les instructions supplémentaires
End Sub
tu as proposé de ne pas ajouter la colonne H, mais dans ce cas, tu ne verras pas la date au format court ; à toi de décider si tu veux la voir ou non ! (mais sans ton fichier, difficile de savoir ! je me trompe peut-être ?)
j'ai utilisé Workbook_SheetChange(..)
mais c'est peut-être Workbook_SheetSelectionChange(..)
? ou autre ? c'était pas indiqué dans ton énoncé (voilà c'que c'est d'mettre juste un bout de code : on n'a pas le nom d'la sub, et on peut pas savoir si des instructions suivent !)
dhany