XL 2016 Mise à jour de la date si modification d'une cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

melvin

XLDnaute Nouveau
Bonjour,
Je me permet de venir vers vous car après quelques recherches, je n'ai pas réussi à réssoudre mon problème. J'ai créé un fichier permettant d'effectuer un suivi des modifications.
Pour cela j'aimerais que la date présente sur la colonne F ligne x se mette à jour si et seulement si une modification des colonnes a, b, c, d, f ligne x a été modifié. Désolé c'est dure à expliquer mais en gros si je modifie A4,B4,C4,D4,E4 ou F4 alors la date en E4 se mets à jour automatiquement. J'ai essayé avec une formule sans grande conviction et effectivement, cela ne fonctionne pas car la date change tous les jours.

J'ai donc essayé de passer par du VBA et j'ai trouvé un code que j'ai compris que partiellement :

---------------------------------------------------------------------------
Private Sub WorkSheet_Change(ByVal Target As Range)

If Target.Column = 1 Then
Cells(Target.Row, 2) = Now
End If

End Sub
----------------------------------------------------------------------------

Sur ce code on vérifie que la valeur cible pour voir s'il y a eu une modification (ici sur la colonne 1) , si c'est bien le cas alors sur la cellule cible mais sur la colonne 2 on affectera la date.
Pour l'adapter à mon besoin je pense que j'ai juste à mettre :

"If Target.Column = 1 OU Target.Column = 2... Then

Je suis assez débutant en VBA donc je dis peut être des bétises, j'ai essayé d'éxecuter cette macro sur un fichier test, cependant lorsque j'éxecute la macro j'ai une erreur de compilation "argument facultatif", quelqu'un pourrait-il m'aider s'il vous plait ?
 

Pièces jointes

Bonjour,
J'ai finalement réussi à régler mon problème, voici donc mon code :

______________________________________________________
Private Sub WorkSheet_Change(ByVal Target As Range)

If Target.Column = 1 Or Target.Column = 2 Or Target.Column = 3 Or Target.Column = 4 Or Target.Column = 6 Then
Cells(Target.Row, 5) = Now
End If

End Sub
_______________________________________________________

J'ai juste une question, mon problème venait de l'endroit où je mettais mon code.
J'allais dans Développeur>Macro puis j'enregistrer une macro que je modifiais puis ensuite que j'exécutais ou alors au lieu d'aller dans Macro j'allais dans VBA puis je faisais "Module" et ensuite je mettais mon code que j'exécutais or ça ne fonctionne pas mais en allant dans Développeur>Visualiser le code et en mettant le code cela fonctionne. Quelqu'un pourrait-il m'expliquer la rasion de mon problème ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
25
Affichages
602
Réponses
3
Affichages
250
Retour