Modification de date quand il y a changement cellule

Bonjour,

Je suis un novice dans VBA.

J'aimerais avoir la formule pour quand la colonne H (pour toute les lignes) a des changements, que la date s'inscrive dans la colonne I (pour toute ses lignes).

Merci de votre aide

Martin

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Columns("H")) Is Nothing Then Exit Sub
For Each cel In Intersect(Target, Columns("H"))
    cel.Offset(, 1) = Now
Next
End Sub
20horodatage.xlsm (12.93 Ko)

Allo

Ca ne fonctionne pas, il n'a aucun changement de date dans la colonne.

Merci

Martin

Les macros ont-elles été activées ?

Bonjour Steelson

Merci pour ce code qui marche a merveille pour une seule colonne, cependant j'aurais besoin de votre bonne connaissance en VBA afin d’appliquer ce process a multiple colonne qui ne sont pas successives (environ 30 colonnes avec différent insertion et a chaque insertion la date et l'heure est mise a jour).

avec ce code la première colonne ("L") marche convenablement, par contre rien ne se passe sur la colonne ("GX").

Par la même occasion j'aimerais savoir si en imbriquant une trentaine de colonnes ça risque de causer un lag ou pire une loop.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim cel_1 As Range
Dim cel_2 As Range

If Intersect(Target, Columns("L")) Is Nothing Then Exit Sub

For Each cel_1 In Intersect(Target, Columns("L"))

    cel_1.Offset(, 1) = Now

Next

If Intersect(Target, Columns("GX")) Is Nothing Then Exit Sub

For Each cel_2 In Intersect(Target, Columns("GX"))

    cel_2.Offset(, -1) = Now

Next
End Sub

Merci pour votre support d'avance.

Cordialement.

Ca ne fonctionne pas, il n'a aucun changement de date dans la colonne.

Cher Martin,

as-tu répondu à ma question ?

Car XEONTEL confirme :

Merci pour ce code qui marche a merveille

avec ce code la première colonne ("L") marche convenablement, par contre rien ne se passe sur la colonne ("GX").

En effet, à cause de l'exit sub ... Il faut donc inverser la logique :
Private Sub Worksheet_Change(ByVal Target As Range)

Dim cel_1 As Range
Dim cel_2 As Range

If not Intersect(Target, Columns("L")) Is Nothing Then 
For Each cel_1 In Intersect(Target, Columns("L"))
    cel_1.Offset(, 1) = Now
Next
end if

If not Intersect(Target, Columns("GX")) Is Nothing Then
For Each cel_2 In Intersect(Target, Columns("GX"))
    cel_2.Offset(, -1) = Now
Next
end if

End Sub

Encore Merci Steelson c'est impec, ça fais 10 ans que je n'ai pas touche au VB, tu ma épargnée un vrai casse tête.

Rechercher des sujets similaires à "modification date quand changement"