Problème avec Macro qui se lance plusieurs fois

Résolu/Fermé
Bintou - 9 sept. 2013 à 22:37
 Bintou - 10 sept. 2013 à 14:40
Bonjour mes chers, j'ai vraiment un problème, ma macro qui se lance automatiquement plusieurs fois de lui meme quant j'apporte un changement à ma cellule Range("D193").

voici le code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("D193")) Is Nothing Then
Call Macro1
End If
End Sub

J'ai essayé de mettre deux codes ensemble comme les deux sont pour la même feuille
Voilà le deuxième code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$2" Then
[A4].AutoFilter Field:=1, Criteria1:="=" & Target & "*"
End If
End Sub

Quant j'apporte un changement à la cellule D193, la Macro1 s'exécute plusieurs fois sans arrêt. Veuillez m'aider SVP à resoudre ce problem.

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 10/09/2013 à 09:29
Bonjour

essaies

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$D$193" Then
Application.EnableEvents = False
Call Macro1
Application.EnableEvents = True
End If
If Target.Address = "$D$2" Then
Application.EnableEvents = False
[A4].AutoFilter Field:=1, Criteria1:="=" & Target & "*"
Application.EnableEvents = True
End If
End Sub

et par prudence une bouée de secours
sub reactiver_evenementielle()
Application.EnableEvents = True
en sub
Michel
0
Bonjour mon cher, je viens d'essayer les deux codes. Le deux marchent sans problem. Mais ils doivent être indépendants. Le deuxième est très bon. Le premier doit lancer automatiquement la Macro1 que je vous donne:

Sub Macro1()

Range("D193").Select
Selection.Copy
Range("J193").PasteSpecial
Application.CutCopyMode = False
Range("K193") = Range("J193") + Range("K193")
Range("K193").Select
Selection.Copy
Range("D193").PasteSpecial
Range("D193").Select

End Sub

je suis vraiment très contant de votre réaction. Merci de m'aider.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
10 sept. 2013 à 14:25
petite erreur de manip que tu aurais peut-être pu voir

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$193" Then

Application.EnableEvents = False
Call Macro1
Application.EnableEvents = True
End If
If Target.Address = "$D$2" Then
Application.EnableEvents = False
[A4].AutoFilter Field:=1, Criteria1:="=" & Target & "*"
Application.EnableEvents = True
End If
End Sub
0
Génial ! Génial ! Vous êtes vraiment formidables. Ca marche très bien; je vous remerci infiniment; Que le Bon dieu vous paie. Bonne journée.

il reste mon deuxième problème que j'ai suggeré au Forum, mais pas de solution jusqu'à présent.
0