Actualisation de la date en ligne 2 après saisie d'une valeur non nulle en ligne 1

Cath67

XLDnaute Nouveau
Bonjour,

je voudrais qu'après chaque mise à jour de cellule dans la ligne 5, la date soit mise à jour dans la ligne 6.
Pour cela j'ai trouvé le code suivant, qui fonctionne bien :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, [B1:AG1]) Is Nothing Then
Target(2, 1) = Date + Time
End If
End Sub


Par contre, j'aimerai ajouter la condition suivante : ne mettre la date que si la cellule en ligne 1 n'est pas vide.
Il faudrait donc que le code permettre d'actualiser la date après chaque changement de valeur SI cette valeur n'est pas nulle.

Quelqu'un peut-il m'aider ?

Merci.
 

hbenalia

XLDnaute Occasionnel
Bonjour,
Peut-être avec ce bout de code,
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, [B1:AG1]) Is Nothing Then
   If Target > 0 and Target <> "" Then Target(2, 1) = Date + Time
End If
End Sub
Cordialement
 

Cath67

XLDnaute Nouveau
Bonjour,

j'ai essayé et ça fonctionne presque !
Avec cette modification, j'arrive à saisir des valeurs dans la première ligne, par contre l'actualisation ne se fait que si je sors et re-clique/sélectionne sur la cellule. Donc pas tout de suite après la saisie.
 

hbenalia

XLDnaute Occasionnel
Bonjour,
Pour cela, on opte pour un : Private Sub Worksheet_Change(ByVal Target As Range) au lieu de Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cordialement
 

Discussions similaires


Haut Bas