EXCEL : date de modification d'une cellule

psychoman4us -  
 psychoman4us -
Bonjour,

J'ai modiifé un code sur le forum pour écrire la date de modification d'une cellule dans EXCEL.
le code ne fonctionne pas tout le temps quand je finis la modification , si on pese sur enter, gauche, droite, haut ou bas, ca n'écrit pas tout le temps la date dans l'autre colonne, et des fois ca bugg quand on prend plusieurs cellules ou en commencant.

pouvez vous m'aider a reprogrammer :


Private Sub Worksheet_Change(ByVal Target As Range)
Static AncAdress As Variant, AncValeur As Variant

If AncValeur <> Range(AncAdress) Then

'La cellule que l'ont vient de quitter a été modifiée.
'Mettre l'action à exécuter.
If Target.Column = 18 Then
Target.Offset(0, 8) = Date
End If

End If
AncAdress = Target.Address
AncValeur = Target.Value


End Sub


merci.
Vince
A voir également:

7 réponses

psychoman4us
 
ca semble fonctionner beaucoup mieux,

merci les gars. C'est super ce site !!!!
4
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

à mon avis tu t'es compliqué la vie car ta macro ne se déclenche que si ta cellule est modifiée
Private Sub Worksheet_Change(ByVal Target As Range)

'La cellule que l'ont vient de quitter a été modifiée.
'Mettre l'action à exécuter.
If Target.Column = 18 Then      Target.Offset(0, 8) = Date

End Sub 
0
psychoman4us
 
je vais voir souvent sans modifier, c'est pour ca que je veux que ca écrive la date seulement si j'ai modifié la cellule....
merci pour l'idée....

toujours pas résolu.........

Vince.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

et l'option 'outils / suivi des modifications' ne te convient pas ?
eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

je vais voir souvent sans modifier, c'est pour ca que je veux que ca écrive la date seulement si j'ai modifié la cellule....

C'est exactement ce que fait l'événement "change" car si tu regardes il ne se déclenche pas, seulement si tu modifies.
0
psychoman4us
 
essayez le code dans une feuille et vous verrez que la date ne s'écrit pas tout le temps avec mon code, il y a un probleme dnas le code en fonction de la facon dont on quitte la cellule modifiée...

de plus , il y a un probleme si on fait des selections multiples, ca fiat bugger le fichier...

merci.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

tu es sûr de bien utiliser l'evenement Worksheet_Change et non pas Worksheet_SelectionChange ?
Et as-tu lu le post 3 ?
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

la date ne s'écrit pas tout le temps avec mon code, il y a un probleme

Je suis bien d'accord car tu as compliqué ton code inutilement et tes conditions empêchent le bon déroulement.

Si tu laisses exécuter la seule condition sur la colonne cela fonctionnera mieux.

En ce qui me concerne, ton code tel que tu l'a donné ne fonctionne jamais car les variables sont testées avec d'être valorisées.

Comme le dit Éric, tu as essayé de mélanger du code qui reprend des valeurs de SelectionChange et dans ton cas cela ne parait pas s'imposer puisque tu veux la date si la colonne est modifiée.

si on fait des selections multiples il faut aussi traiter toutes les occurrences modifiées (cas de copies multi-cellules) avec par exemple
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Object
For Each cel In Target
    If cel.Column = 18 Then cel.Offset(0, 8) = Date
Next
End Sub
0