Je souhaiterais obtenir de l'aide (code VBA) pour enregistrer la date dans une cellule lors de la modification du contenu d'une autre cellule et que cette date ne change pas jusqu'à la prochaine modif.
Si je modifie G2 ou I2 je voudrais Que la date de modif s'enregistre dans H2 ou I2.
Je serais reconnaissant à celui qui pourra m'aider.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G:G")) Is Nothing Then
Target.Offset(0, 1).Value = Now()
End If
If Not Intersect(Target, Range("I:I")) Is Nothing Then
Target.Offset(0, 1).Value = Now()
End If
End Sub
Merci pour la réponse rapide mais cela ne fonctionne pas...
Je voudrai que quand les cellules de la colonne G sont modifiées la date s'enregistre dans les cellules de la colonne H et pareil pour les colonnes I et J.
Désolé cela ne fonctionne toujours pas..
J'ai modifié le 1er code et rajouté le second.
Les cellules G et I comportent des formules dont le résultat varie avec l'affichage en D et F
Ci-joint le fichier plus clair
je pensais que notre ami l'aurait vu par lui meme..
étant donné qu'il y avait déjà du code vba dans son fichier, je me suis dit qu'il connaissait déjà le vba, et que quand la macro plante.. il aurait au moins eu l'idée de cliquer sur "Débogage".. et que l'erreur lui sauterait au yeux..
visiblement.. non..
@Largoj, hello: quand la macro plante, Excel t'envoie un message: tu peux ainsi cliquer sur débogage,
automatiquement, l'éditeur VBA est ouvert, et la ligne qui ne plait pas, apparait surlignée en jaune
sinon, l'éxécution mode pas à pas (touche F8) est souvent très utile pour suivre ce que fait la macro. et detecter ainsi ce qui ne va pas
j'en reviens à la question de base
tu souhaites avoir la date en colonne J quand les cellules G et I sont modifiées
de ce que j'ai vu et compris de ton fichier, ces celluls G et I contiennent des formules. donc elles sont modifiées lorsque l'utilisateur entre une valeur dans la zone B2:17
d'où j'en reviens à la proposition de code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B2:D17]) Is Nothing Then
Range("J" & Target.Row) = Time
End If
End Sub
ce code enregistre la date dans la colonne J
toi tu dis
Si je modifie G2 ou I2 je voudrais Que la date de modif s'enregistre dans H2 ou I2.
Bonjour gvendron.J'ai effectivement constaté qu'il y avait une erreur dans "Target"... mais cela ne fonctionne toujours pas.
Je vais essayer de t'expliquer ce que je souhaite faire.
Si tu as mon fichier sous les yeux, la vente des sacs jaunes et bleus s’additionne en F.
Tous les 12 sacs vendus le client obtient 1 sac gratuit Dans la colonne G.
Idem pour les sacs marrons, tous les 10 : 1 gratuit en colonne I.
pour qu'il y ait une trace de ces gratuités pour les clients je souhaite avoir une preuve en enregistrant la date en colonnes H et J, chaque fois que qu'une gratuité se fait
Les colonnes G et I contiennent des formules pour annoncer les sacs gratuits.
J'espère avoir été assez clair, ce n'est pas évident de tout comprendre quand on n'a pas conçu l'application;