Bonjour,

Voila mon probleme : Je voudrais lancer un code VBA dès lors que l'on modifie une cellule. Mais la subtilité est là : il faut impérativement modifier la cellule pour que la macro se lance.

Exemple : J'ai "toto" en cellule A1. Si l'utilisateur saisi autre chose que "toto" dans cette cellule, alors la macro X se lance. Par contre, s'il rentre dans la cellule, et "resaisi" la même valeur que celle qui était précedemment dans la cellule (ici "toto"), alors la macro ne se lance pas.
En gros, il faudrait un code VBa qui traite l'information suivante :

Si Target.value = "A1" et si la nouvelle valeur de la cellule apres validation est differente de Target.value, alors Lancer la macro X.


Voila mon code, mais il ne marche pas. Merci d'avance à tous pour votre aide


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo gesterreur
    Application.ScreenUpdating = False
    Dim valOp As String
    valOp = Range("A1").Value 'Ancienne Valeur
    If Target.Address = "$A$1" And Target.Value <> "" Then
        If Range("A1").Value <> valOp Then
            MAJCodeOP   'Macro X
        End If
    End If
    Application.ScreenUpdating = True
    Exit Sub
gesterreur:
    Application.ScreenUpdating = True
End Sub