Enregistrer une date si cellule modifiée

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é.

Bonjour,

p'tit souci de cohérence !

largoj a écrit :

Si je modifie G2 ou I2 je voudrais Que la date de modif s'enregistre dans H2 ou I2.

A coller dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.Address
           Case "$G$2", "$I$2":     Target.Offset(, 1).Value = Date
    End Select
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.

Le code fonctionne bien vis à vis de la demande initiale, à tester donc avec G2 & I2

Modifier ensuite le code en remplaçant l'adresse par la colonne …

Bonsoir,

Evite de sélectionner les colonnes entières.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("G:G,I:I")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        Target.Offset(, 1) = Date
    End If
End Sub

Désolé mais cela ne marche toujours pas.

Serait-il possible de copier directement le code sur le fichier ci-joint.

merci d'avance

cordialement, largoj


Désolé mais cela ne marche toujours pas.

Serait-il possible de copier directement le code sur le fichier ci-joint.

merci d'avance

cordialement, largoj

Re,

J'ai probablement du mal.. mais quand je modifie les colonnes G ou I en ajoutant des multiples de 12 en B et C et multiples de 10 en D

aucune date s'affiche en H et J.

cordialement,

Re,

Ci-dessous procédure modifiée à copier en lieu et place.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B:D")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        Select Case Target.Column
            Case 2
                Target.Offset(, 6) = Date
            Case 3
                Target.Offset(, 5) = Date
            Case 4
                Target.Offset(, 6) = Date
        End Select
    End If
End Sub

Merci infiniment Jean Eric, tout marche cette fois ci très bien;

désolé pour mon insistance.

Cordialement,

largoj

Re,

Merci à toi de tes remerciements.

Pour info l'événement Worksheet_Change ne se produit pas lors d'un recalcul.

Bonjour Jean Eric,

Je reviens vers toi car suite à l'envoi du code permettant d'enregistrer la date dans une cellule après modification d'une cellule voisine,

je n'ai pas vraiment fait attention que la date s'affiche dés que l'on modifie les cellules des colonnes BCD, or je souhaiterais que la date ne s'affiche en colonnes H et J que lorsque les cellules des colonnes G et I se modifient.

Désolé de ne pas avoir vu cela tout de suite. Serait-il possible de modifier le code pour arriver à afficher la date uniquement quand ces cellules sont modifiées ?

Ci-joint à nouveau le fichier

cordialement,largoj

25classeur2.xlsm (51.78 Ko)

C'est possible : modifier mon code en remplaçant la propriété de l'adresse par la colonne

puis à la place des adresses de cellules indiquer les numéros de colonne …

Et toujours en trois lignes de code !

Rechercher des sujets similaires à "enregistrer date modifiee"