Problème avec Macro qui se lance plusieurs fois

Résolu
Bintou -  
 Bintou -
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

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. Bintou
     
    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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
  3. Bintou
     
    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