Enregistrer une date si cellule modifiée

largoj

XLDnaute Nouveau
Bonjour,

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.

Cordialement largoj.

Ci joint le fichier simplifié.
 

Pièces jointes

  • sacs gratuits 1.xlsm
    16.8 KB · Affichages: 30
  • sacs gratuits 1.xlsm
    16.8 KB · Affichages: 39
  • sacs gratuits 1.xlsm
    16.8 KB · Affichages: 41

Iznogood1

XLDnaute Impliqué
Re : Enregistrer une date si cellule modifiée

Code:
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
 

vgendron

XLDnaute Barbatruc
Re : Enregistrer une date si cellule modifiée

Hello

Rajoute ce code

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 6 Then
    Range("J" & Target.Row) = Time
End If
End Sub

ou plutot celui ci
pour détecter un chandement dans les cellules de la range B2:D17
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
 
Dernière édition:

largoj

XLDnaute Nouveau
Re : Enregistrer une date si cellule modifiée

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.
 

vgendron

XLDnaute Barbatruc
Re : Enregistrer une date si cellule modifiée

Re
suffit de modifier le premier code que je t'ai proposé

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column = 7) or (arget.Column = 8) Then
    Range("J" & Target.Row) = Time
End If
End Sub

Cela dit. je ne comprend pas trop...en colonne 7 et 8, ce sont des formules.. donc, c'est pas toi qui modifie les valeurs..???
 

largoj

XLDnaute Nouveau
Re : Enregistrer une date si cellule modifiée

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
 

Pièces jointes

  • sacs gratuits 1.xlsm
    19.1 KB · Affichages: 16
  • sacs gratuits 1.xlsm
    19.1 KB · Affichages: 33
  • sacs gratuits 1.xlsm
    19.1 KB · Affichages: 41

vgendron

XLDnaute Barbatruc
Re : Enregistrer une date si cellule modifiée

Hello Iznogood

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.

peux tu stp préciser/corriger dans quelle colonne tu veux la date: H J ou I
sachant que I contient une formule..
 

largoj

XLDnaute Nouveau
Re : Enregistrer une date si cellule modifiée

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;

cordialement, largoj
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 517
dernier inscrit
hbenaoun63