1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Dim tablo As Variant 'variable tablo globale!!!!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub ' si il y a plus d'une cellule on sort (CA POURRAIT ETRE LA SEULE FAILLE!!!! )
'
If Target.Column = 1 Then ' si on est dans la colonne 1
'
If IsEmpty(tablo) Then tablo = Range("A:B") 'si tablo n'a pas encore été dimentionné on dimentionne provisoirement a deux colonnes entieres
'
'si l'item tablo en colonne 1 meme ligne que target n'est pas vide et different de target alors...
If tablo(Target.Row, 1) <> "" And tablo(Target.Row, 1) <> Target.Value Then
'
Target.Value = tablo(Target.Row, 1) 'on le remet
'
Else 'autrement
'
Target.Offset(, 1) = Now() 'on met la date
'
End If 'fin de control pour target en colonne 1
'
ElseIf Target.Column = 2 Then ' si target est en colonne 2
'
If tablo(Target.Row, 2) <> "" Then Target = tablo(Target.Row, 2) 'on remet la date du tablo colonne 2 meme ligne que targetsi l'item du tablo n'est pas vide
'
End If 'fin de control target en colonne 2
'
tablo = Range("A1:B" & Cells(Rows.Count, 1).End(xlUp).Row + 1) ' on rememorise tablo mais cette fois ci a la dimmention de la plage utilisée en "A:B" car on a au moins une ligne de rempli
'
End Sub |
Partager