Problème de 2 mêmes sélections à la suite dans un ComboBox

Michou9

XLDnaute Occasionnel
Bonjour

J'utilise ce ComboBox pour lancer des macros

Je rencontre un problème
C'est qu'il m'est impossible de lancer deux fois à la suite la même macro !

Je sais comment contourner le problème
En sélectionnant une autre macro, puis en abandonnant son lancement avant de revenir
a la macro précédente

Mais cela devient vite source d'erreur
Et personnellement je n'ai pas trouver la solution

Merci



Code:
Private Sub ComboBox1_Change()
   Dim lig As Variant, rep As Byte
   lig = Application.Match(ComboBox1, [Macro_Liste], 0)
   If IsError(lig) Then Exit Sub
   rep = MsgBox([Macro_Liste].Cells(lig, 2), 3)
   If rep = 7 Then Exit Sub
   If rep = 2 Then SendKeys "%{UP}": Exit Sub
   Select Case ComboBox1

Case "Macro 1": Macro1

/////////////////////////////

Case "Macro 50": Macro50

     End Select
 End Sub
 
D

Denis

Guest
Re : Problème de 2 mêmes sélections à la suite dans un ComboBox

Bonjour michou9 et le forum
peut être en mettant ta macro dans l'événement clik ou mouse down, car si tu garde la même macro, il n'y a pas de "Change".
Bon courage et à+
Denis
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Problème de 2 mêmes sélections à la suite dans un ComboBox

Bonsoir Michou9,

Un essai dans le fichier joint ?

Edit: c'était pas la bonne version du fichier (v1 => v1a)
 

Pièces jointes

  • Macro - quand elle veut - v1a.xlsm
    21.8 KB · Affichages: 31
Dernière édition:

Michou9

XLDnaute Occasionnel
Re : Problème de 2 mêmes sélections à la suite dans un ComboBox

Bonsoir Mapomme

Merci pour ton aide

Ta macro fonctionne très bien
Mais une fois dans mon tableau, je rencontre des problèmes

1) Quand je clique sur macro, pas de problème
Si je décide de rejouer la même macro
Il m'affiche une MsgBox (sans titre) ???
Que je clique sur Oui, Non ou Annuler, rien ne se passe

2) La ComboBox devient très lente par rapport à avant

3) Comme il s'agit de valider des macros par rapport à une zone activée avant le lancement de la macro
Code:
Sheets("Feuil1").Range("D2").Activate
me pose des problèmes.

A+
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Problème de 2 mêmes sélections à la suite dans un ComboBox

(re)Bonjour Michou9,

Un autre essai dans le fichier joint.

- permet de rejouer la macro sans passer par l'activation d'une autre cellule (points 1° et 3° de ton précédent message)
- pour la vitesse: n'ayant pas le fichier réel, je ne peux pas tester.

Fichier : voir msg suivant : #6
 
Dernière édition:

Michou9

XLDnaute Occasionnel
Re : Problème de 2 mêmes sélections à la suite dans un ComboBox

Bonsoir Mapomme

Merci à nouveau

La macro est bien plus rapide
Mais malheureusement en ce qui concerne le problème 1° sité hier

Quand je clique sur macro, pas de problème
Si je décide de rejouer la même macro
Il m'affiche une MsgBox (sans titre) ???
Que je clique sur Oui, Non ou Annuler, rien ne se passe

C'est exactement pareil !

Si je supprime
Code:
Private Sub ComboBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
ComboBox1.ListIndex = -1
End Sub
Cela ne le fait plus
Mais cela revient au problème que je ne peux faire 2 fois la même macro


Autre problème, si je clique sur Annuler, je ne reviens pas sur la ComboBox ouverte

A+
 

Michou9

XLDnaute Occasionnel
Re : Problème de 2 mêmes sélections à la suite dans un ComboBox

Bonjour Mapomme

Ne pouvant t’envoyer mon fichier, celui étant bien trop lourd, j’ai cherché pendant plusieurs jours l’erreur.

Je suis parvenu enfin à la trouver !

Il ne s’agissait pas d’une erreur dans la macro à proprement parler, mais d’un problème à l’intérieur de la ComboBox.

Pour gérer toutes mes macros, j’ai réalisé une feuille à l’intérieur du classeur pour récapituler toutes mes macros :

1ère colonne : Le nom des macros telles qu’elles - Exemple : « Mise_en_couleur_bleu »

2ème colonne : Ce même nom débarrassé des « _ » avec l’utilisation d’une formule
Code:
=SI(A1="ZZ";"";SI(ESTVIDE(A1);"";SI(GAUCHE(A1;1)="*";"";SUBSTITUE(A1;"_";" "))))

3ème colonne : l’information sur les macros

Je précise que pour plus de clarté, j’ai regroupé mes macros par thème en les espaçant d’une ligne vide entre chaque thème

Ce qui a pour conséquence :
A2 :
Code:
Mise_en_couleur_bleu
devient
Code:
Mise en couleur bleu
A3 : Une cellule vide suite à la formule prend pour valeur
Code:
""
Et c’est ce
Code:
""
qui provoque l’erreur !


J’ai indexé ma ComboBox sur la 2ème colonne.

Tout se passe très bien ainsi
Sauf, et uniquement dans ce cas là, si je souhaite rejouer une macro 2 fois de suite !

Pour contourner le problème, j’ai remplacé ma formule par
Code:
=SI(A1="ZZ";"-";SI(ESTVIDE(A1);"-";SI(GAUCHE(A1;1)="*";"-";SUBSTITUE(A1;"_";" "))))
Ainsi il n’y a plus de ligne vide entre les thèmes, mais un
Code:
"-"

Je ne suis pas parvenu à trouver une autre solution, si bien sûr, il y en a une qui me permette de laisser des lignes vides plutôt que « - », je suis preneur. :confused:

Merci pour ton aide si éventuellement il y a une solution
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 636
Messages
2 090 379
Membres
104 515
dernier inscrit
lnc-glr