Exécuter macro VBA sur changement de valeur de cellule
Bonjour,
Je viens assez souvent sur ce forum que je trouve très instructif et m'a permis de trouver les réponses à mes questions... sauf cette fois-ci, c'est pourquoi c'est à mon tour de vous poser une colle.
Je vous écris donc car je rencontre un problème.
J'ai besoin d'exécuter une macro VBA quand la valeur d'une cellule change. Pour cela j'ai testé le code suivant :
Code:
1 2 3 4 5 6 7
| Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
...
' Code VBA
...
End If
End Sub |
Ou le code suivant :
Code:
1 2 3 4 5 6
| Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
...
' Code VBA
...
End sub |
Dans les 2 cas, si je change la valeur de la cellule A1 manuellement, le code VBA est bien exécuté
Si c'est une macro VBA qui change la valeur de cette cellule, cela fonctionne aussi.
Mais si c'est une formule Excel qui change cette valeur du genre A1= B1+C1 (mais avec B1 et C1 d'une autre feuille pour m'assurer que ce n'est pas le changement de B1 ou C1 de la même feuille qui lance la procédure), j'ai bien la confirmation que rien ne se passe, la procédure Private Sub Worksheet_Change(ByVal Target As Range) n'est pas lancée. Je pense qu'il regarde la formule de la cellule (qui elle ne pas change) et non pas la valeur du résultat de la formule.
Avez-vous une idée pour y remédier ?
Merci d'avance pour votre aide.