Bonjour à vous tous !
Je suis novice dans l’utilisation d’Excel et ai donc besoin de votre aide.
Voilà mon problème.
Je souhaite qu’une macro se déclenche lors du changement de la valeur contenue dans une cellule.
Exemple : Déclencher la macro « ma macro » lorsque la valeur de la cellule D34 est de 1.
J’ai fait une recherche sur ce forum et ai trouvé et appliquer ceci (je l’ai mis dans le code de la feuille) :
Sub Worksheet_Change(ByVal Target As Range)
If Range("D34") = 1 Then
Call “ma macro”
End If
End Sub
Malheureusement lorsque la valeur de la cellule D34 affiche 1 Excel bogue à fond et ne répond plus du tout. Je me demande si le problème ne viendrait pas du fait que la macro se répète indéfiniment en boucle, ce qui bloquerait Excel. Il faudrait en fait que la macro ne s’ exécute qu’une seule fois.
Qu’en pensez-vous ? Merci de bien vouloir m’aider.
Re : Exécution d'une macro en fonction d'une valeur située dans une cellule ?
Salut le forum
Essaye avec ce code
Code:
Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D34")) Is Nothing Then
If Range("D34") = 1 Then
Call TaMacro
End If
End If
End Sub
Re : Exécution d'une macro en fonction d'une valeur située dans une cellule ?
Bonjour Jehan
Essayez ceci :
Code:
[COLOR="DarkSlateGray"]Sub Worksheet_Change(ByVal Target As Range)
If Range("D34") = 1 Then
On Error Resume Next
Application.EnableEvents = False
Call MaMacro
Application.EnableEvents = True
End If
End Sub[/COLOR]
Re : Exécution d'une macro en fonction d'une valeur située dans une cellule ?
Bonsoir à vous Myta et Roger2327 !
D' abord merci de m'avoir répondu si rapidement.
La solution proposée par Myta fonctionne lorsque l'on inscrit manuellement le chiffre 1 dans la cellule, mais pas lorsque le résultat change du fait du résultat d'une formule située dans la cellule.
La solution de Roger2327 fonctionne parfaitement dans tous les cas.
Je vous remercie chaleureusement tous les deux et vous souhaite bon vent.
Jean.