Macro exécutée 2 fois ?

  • Initiateur de la discussion Initiateur de la discussion Iznogood1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Iznogood1

XLDnaute Impliqué
Bonjour,

soit un menu (Popup) avec plusieurs boutons.
Les boutons appellent la même procédure en lui passant un paramètre optionnel.

Résultat surprenant :
  • Si pas de paramètre, la procédure est exécutée normalement
  • Si on passe un paramètre, elle est exécutée 2 fois

(et dans ce cas le pas à pas ne fonctionne pas, même avec l'instruction Stop dans la procédure)!

Quelqu’un sait comment résoudre ce problème ?


Ci-joint un exemple :
 

Pièces jointes

Re : Macro exécutée 2 fois ?

Bonjour,

comme ceci peut-être


VB:
Sub callBack(Optional param As String)
'Static i As Integer
    i = i + 1
    If i > 1 Then Exit Sub
    If param = "" Then
        MsgBox i & " Appel sans paramètre"
    Else
        MsgBox i & " Appel avec paramètre : " & param
    End If
End Sub

en déclarant Public i As Integer et mettre i =0 dans la création de menu
 

Pièces jointes

Dernière édition:
Re : Macro exécutée 2 fois ?

Merci Gilbert,

je n'y avais pas pensé.

Du coup on peut se passer de variable globale (beurk 🙂) en modifiant le callBack comme suit :
Code:
Sub callBack(Optional param As String = "")
  Static i As Integer
  If param = "" Then
    MsgBox i & " Appel sans paramètre"
    i = i + 1
  Else
    If i = 0 Then
      MsgBox i & " Appel avec paramètre : " & param
      i = i + 1
    Else
      i = 0
    End If
  End If
End Sub

Ces deux solutions résolvent le problème, mais le mystère demeure sur cet étrange comportement 😕

Merci encore.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
  • Question Question
2
Réponses
28
Affichages
2 K
Deleted member 441486
D
Retour