affecter une macro liée à une combobox

  • Initiateur de la discussion Initiateur de la discussion thomas gorski
  • 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 !

T

thomas gorski

Guest
Bonjour à tout le forum,

Je réussis à programmer un button qui, selon la valeur d'une combobox, ouvre un fichier excel.

Mais

Je voudrais programmer une macro afin de l'affecter, dans mon cas, à une flèche (voir le fichier joint) afin d'ouvrir un fichier excel.

Je n'arrive donc pas à retranscrire la formule du combobutton en création d'une macro (à affecter).

Je vous remercie d'avance pour vos conseils...

Thomas
 

Pièces jointes

Salut Thomas, salut le forum,

Deux soutions simples :
L'événement Click du CommandButton1 renvoie à la macro : Private Sub CommandButton1_Click(). Remplace Private par Public. Maintenant tu peux affecter cette macro à la flèche car elle apparaît dans la liste comme Feuil25.CommandButton1_Click.

Ou bien tu vas dans Visual Basic Editor ([Alt]+[F11]), tu copies le code de Private Sub CommandButton1_Click(), tu fais menu Insertion/Module, et tu le colles. Renomme la première ligne en Public Sub Flech() par exemple. Maintenant tu peux affecter cette macro à la flèche car elle apparaît dans la liste comme Flech.

À plus,

Robert
 
Re bonjour le forum, re bonjour robert,

Déjà merci

Remplacer private sub par public sub, ça marche parfaitement

Par contre :
Quand je vais dans :
outil
macro

Public Sub Flesh()
If ComboBox2.Value = "Sur les communes de la CCNE" Then
ChDir "c:\documents and settings\pc\bureau" 'destination du fichier
Workbooks.Open Filename:= _
"doc1.xls" 'nom du fichier a ouvrir
ElseIf ComboBox2.Value = "Sur la CCNE, le Pas-de-Calais & le Nord-Pas-de-Calais" Then
ChDir "c:\documents and settings\pc\bureau" 'destination du fichier
Workbooks.Open Filename:= _
"doc2.xls" 'nom du fichier a ouvrir
ElseIf ComboBox2.Value = "Sur les communes de la CCNE." Then
ChDir "c:\WINDOWS\Bureau\OBS\thématiques\santé" 'destination du fichier
Workbooks.Open Filename:= _
"étab SS par commune.xls" 'nom du fichier a ouvrir
ElseIf ComboBox2.Value = "Sur la CCNE, le Pas-de-Calais & le Nord-Pas-de-Calais." Then
ChDir "c:\WINDOWS\Bureau\OBS\thématiques\santé" 'destination du fichier
Workbooks.Open Filename:= _
"étab SS sur la ccne.xls" 'nom du fichier a ouvrir
End If
End Sub


Ca ne marche pas
ca affiche erreur 424 objet requis
 
Re Thomas,

Je n'ai pas pris le temps de comparer l'intégralité de la macro mais je me suis rendu compte que tu avais changé tant les chemins d'accès que les noms des fichiers. L'erreur vient peut-être de la...

À plus,

Robert
 
Re Robert,

En fait, avec ta 1ère proposition, c'est à dire mettre public sub

ca marche parfaitement

ce que je n'arrive pas à faire c'est créer la macro flesh

si je n'avais pas le programme du combobutton, quelle serait la formule ?

j'espère ne pas abuser

encore merci

thomas
 
Re Thomas,

Si tu n'avais pas la macro du CommandButton1 tu serais "mort"... C'est un peu comme si tu demandais à un sourd de chanter les derniers hurlements de Céline Dion... (je vais encore me faire allumer par les Canadien(nes) du forum !).

À plus,

Robert
 
Re Thomas,

Tu peux utiliser l'Enregistreur de macro qui transcrit en VBA tout ce que tu fais entre le moment ou il démarre et le moment où tu l'arrêtes. Menu Outils/Macro/Nouvelle Macro... Donne un nom, valide : il démarre. Agit : il transcrit en VBA. Arrête en cliquant dans le carré bleu.

À plus,

Robert
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
40
Affichages
1 K
Réponses
8
Affichages
138
Réponses
5
Affichages
320
Réponses
5
Affichages
432
Retour