SANDRA2012
XLDnaute Junior
Bonjour,
Je ne peux pas joindre le fichier mais je vais essayer d'être le plus clair possible!
des numéros se remplissent au fur et à mesure grâce à une macro en colonne A et je souhaiterai que la date du jour de la création de ce numéro se mette automatiquement dans la colonne B sur la même ligne.
exemple :
en A3 aujourd'hui je créer le numéro 1 donc en B3 ce note automatiquement le 15/02/16 par contre demain quand j'ouvre le fichier je veux que ce soit toujours le 15/02/2016.
Avant j'utilisais la formule : =SI(A3="";"";SI(B3<>"";B3;MAINTENANT())) mais elle ne convient pas sur un fichier ou plusieurs personnes travaillent dessus.
Du coup j'ai rajouter à ma macro la ligne en rouge :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Target.Offset(0, 1).Value = Format(DateSerial(Year(Now), Month(Now)))
If Target.Address <> "$E$4" Then Exit Sub 'on ne passe à la suite que si c'est G5 qui est modifiée
If Target = "" Then Exit Sub 'si la cellule G5 est vide, on quitte la procédure
numLigne = Application.Match(Target, [A:A], 0) 'même chose que: =EQUIV(G5;A:A;0) ... donne le n° de ligne du code en G5
If IsNumeric(numLigne) Then Cells(numLigne, 3) = Cells(numLigne, 3) + 1
Range("E4").Select
Application.CutCopyMode = False
Selection.Copy
Range("E4").Copy
Range("I1").PasteSpecial Paste:=xlPasteValues
Sheets("CYCLE").Range("E4:I22").ClearContents
Target.Activate
End Sub
le problème c'est que ça me met la date du 31 janvier 2016 et elle n'est pas figée quelqu'un aurai une solution à mon problème?
Merci d'avance pour votre aide
Bonne soirée
Je ne peux pas joindre le fichier mais je vais essayer d'être le plus clair possible!
des numéros se remplissent au fur et à mesure grâce à une macro en colonne A et je souhaiterai que la date du jour de la création de ce numéro se mette automatiquement dans la colonne B sur la même ligne.
exemple :
en A3 aujourd'hui je créer le numéro 1 donc en B3 ce note automatiquement le 15/02/16 par contre demain quand j'ouvre le fichier je veux que ce soit toujours le 15/02/2016.
Avant j'utilisais la formule : =SI(A3="";"";SI(B3<>"";B3;MAINTENANT())) mais elle ne convient pas sur un fichier ou plusieurs personnes travaillent dessus.
Du coup j'ai rajouter à ma macro la ligne en rouge :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Target.Offset(0, 1).Value = Format(DateSerial(Year(Now), Month(Now)))
If Target.Address <> "$E$4" Then Exit Sub 'on ne passe à la suite que si c'est G5 qui est modifiée
If Target = "" Then Exit Sub 'si la cellule G5 est vide, on quitte la procédure
numLigne = Application.Match(Target, [A:A], 0) 'même chose que: =EQUIV(G5;A:A;0) ... donne le n° de ligne du code en G5
If IsNumeric(numLigne) Then Cells(numLigne, 3) = Cells(numLigne, 3) + 1
Range("E4").Select
Application.CutCopyMode = False
Selection.Copy
Range("E4").Copy
Range("I1").PasteSpecial Paste:=xlPasteValues
Sheets("CYCLE").Range("E4:I22").ClearContents
Target.Activate
End Sub
le problème c'est que ça me met la date du 31 janvier 2016 et elle n'est pas figée quelqu'un aurai une solution à mon problème?
Merci d'avance pour votre aide
Bonne soirée