Je souhaite mettre a jour un tableau automatiquement par des utilisateurs qui ne maitrise pas trop excel formule etc
J'ai trouvé ce code toutefois c pas top , j'ai l impression que ce n'est pas stable
Si vs avez une autre suggestion
Private Sub Worksheet_Change(ByVal Target As Range)
'Désactiver les événements pendant l'exécution de la macro
Application.EnableEvents = False
'Vérifier si la modification a eu lieu dans la plage de cellules "A1:L500"
If Not Intersect(Target, Range("A1:L500")) Is Nothing Then
'Lancer la macro "MaMacro"
Call MettreAJourDate
End If
'Réactiver les événements après l'exécution de la macro
Application.EnableEvents = True
End Sub
Le bout de code suivant ne colle pas au commentaire :
VB:
If Range("J" & i).Value = "X" Then
Ca ne veut pas dire "si la cellule contient une lettre "X"", ça veut dire "si la cellule contient exactement la chaine de caractère "X"".
Autrement dit, "X " ou " X" ou encore "1X" ou "Xazag" ne vont pas déclencher la mise à jour de la date.
Pour tester si la cellule contient un "X", il faut se renseigner sur l'opérateur vba LIKE.
vu le code, l'instabilité dont tu parles me semble pouvoir provenir que de ta macro "MettreAJourDate"
parce que sinon, le reste. y a rien de plus simple
si la valeur changée est dans la plage A1:L500, on update, sinon. rien..
vu le code, l'instabilité dont tu parles me semble pouvoir provenir que de ta macro "MettreAJourDate"
parce que sinon, le reste. y a rien de plus simple
si la valeur changée est dans la plage A1:L500, on update, sinon. rien..
Hello Vgendron, ok merci pr ce retour, est ce liée à la suivante que penses tu ?
Sub MettreAJourDate()
Dim lastRow As Long
Dim i As Long
lastRow = Cells(Rows.Count, "J").End(xlUp).Row
For i = 1 To lastRow
If Range("J" & i).Value = "X" Then
'Si la cellule dans la colonne J contient une lettre "x", mettre la date du jour dans la colonne K de la même ligne
Range("K" & i).Value = Date
End If
Next i
Le bout de code suivant ne colle pas au commentaire :
VB:
If Range("J" & i).Value = "X" Then
Ca ne veut pas dire "si la cellule contient une lettre "X"", ça veut dire "si la cellule contient exactement la chaine de caractère "X"".
Autrement dit, "X " ou " X" ou encore "1X" ou "Xazag" ne vont pas déclencher la mise à jour de la date.
Pour tester si la cellule contient un "X", il faut se renseigner sur l'opérateur vba LIKE.