affecter une macro liée à une combobox

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

  • doctom.zip
    23.3 KB · Affichages: 52
  • doctom.zip
    23.3 KB · Affichages: 48
  • doctom.zip
    23.3 KB · Affichages: 50
R

Robert

Guest
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
 
T

thomas gorski

Guest
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
 
R

Robert

Guest
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
 
T

thomas gorski

Guest
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
 
R

Robert

Guest
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
 
R

Robert

Guest
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
 

Discussions similaires

Réponses
28
Affichages
1 K

Statistiques des forums

Discussions
313 131
Messages
2 095 554
Membres
106 294
dernier inscrit
Stéphkdsd