Exécution d'une macro en fonction d'une valeur située dans une cellule ?

Jehan

XLDnaute Nouveau
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.
 

Mytå

XLDnaute Occasionnel
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

Mytå
 

ROGER2327

XLDnaute Barbatruc
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]
ROGER2327
#2867
 

Jehan

XLDnaute Nouveau
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.
 

ROGER2327

XLDnaute Barbatruc
Re : Exécution d'une macro en fonction d'une valeur située dans une cellule ?

Re...
Parfait !
Si vous êtes certain que votre procédure MaMacro
ne risque pas de planter, vous pouvez supprimer la ligne
Code:
[COLOR="DarkSlateGray"][B]      On Error Resume Next[/B][/COLOR]
ROGER2327
#2869
 

Discussions similaires

Statistiques des forums

Discussions
312 452
Messages
2 088 540
Membres
103 879
dernier inscrit
JJB2