Question VBA novice

Bonjour,

Je découvre le VBA, ma question est la suivante :

J'ai un fichier Excel qui se compose de 4 colonnes. On saisit un part number dans la 1ère et un serial number dans la 2nde

Je souhaiterais que lorsque les cellules des 2 premières colonnes sont remplies, cela renvois la date et l'heure dans la cellule de la troisème colonne

Cela pour toutes les lignes si possible

Cerise sur le gateau : si j'efface l'une des deux première cellules, la troisième s'efface également...

Merci d'avance pour votre aide

Greg

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i%, n%, nn%
    If Not Intersect(Target, Me.Columns("A:B")) Is Nothing Then
        n = Target.Row: nn = Target.Rows.Count
        For i = n To n + nn - 1
            If Me.Cells(i, 1) <> "" And Me.Cells(i, 2) <> "" Then
                Me.Cells(i, 3) = Now
            Else
                Me.Cells(i, 3).ClearContents
            End If
        Next i
    End If
End Sub

A placer dans le module de la feuille concernée.

Attention : ainsi que tu l'as demandé, ça s'applique à toutes les lignes (à partir de la ligne 1 !)

Merci pour la rapidité de votre réponse

Le code fonctionne parfaitement. Cela m'économise une interminable prise de tête

Greg

Heuh en fait, j'ai une dernière question,

comment faire en sorte que les date des lignes renseignées soient figées (pas actualisée lors des saisies de lignes suivantes)

Sans cela, on perd l'intérêt de la date...

Merci

Greg

Une fois mise, elles ne bougent plus (sauf effacement !)

Ce sont des valeurs qui sont insérées, pas des formules !

Effectivemnt, j'avais fais une mauvaise manip

Merci encore

Rechercher des sujets similaires à "question vba novice"