VBA Pb combobox qui appelle des macros
Résolu/Fermé
Groju
Messages postés
3
Date d'inscription
mercredi 9 février 2011
Statut
Membre
Dernière intervention
10 février 2011
-
9 févr. 2011 à 21:32
Groju Messages postés 3 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 10 février 2011 - 10 févr. 2011 à 21:08
Groju Messages postés 3 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 10 février 2011 - 10 févr. 2011 à 21:08
A voir également:
- VBA Pb combobox qui appelle des macros
- Appelle masqué - Guide
- Comment appelle t on celui qui fête son anniversaire - Forum Skype
- Comment s'appelle l’adresse qui est attribuée à un appareil quand il se connecte à internet et qui permet de l'identifier sur le réseau ? - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
5 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
10 févr. 2011 à 13:33
10 févr. 2011 à 13:33
Re,
peut être tout simplement comme cela
Private Sub ComboBox1_Click()
Application.Run (ComboBox1.Value)
End Sub
le combobox affiche les noms exacts des macros en respectant les majuscules minuscules s'il y a et le fait de cliquer sur un nom de macro dans le combobox la macro s'exécute
ou comme cela si tu as nommé ton combobox "ComboBoxPeriode"
Private Sub ComboBoxPeriode_Click()
Application.Run (ComboBoxPeriode.Value)
End Sub
peut être tout simplement comme cela
Private Sub ComboBox1_Click()
Application.Run (ComboBox1.Value)
End Sub
le combobox affiche les noms exacts des macros en respectant les majuscules minuscules s'il y a et le fait de cliquer sur un nom de macro dans le combobox la macro s'exécute
ou comme cela si tu as nommé ton combobox "ComboBoxPeriode"
Private Sub ComboBoxPeriode_Click()
Application.Run (ComboBoxPeriode.Value)
End Sub
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
9 févr. 2011 à 21:51
9 févr. 2011 à 21:51
Salut,
Si la liste de ton combobox est le reflet exact des noms de tes codes, tu peux faire
Private Sub ComboBox1_Change()
If ComboBox1.Value = "Trimestre1" Then Call Trimestre1
End Sub
Si la liste de ton combobox est le reflet exact des noms de tes codes, tu peux faire
Private Sub ComboBox1_Change()
If ComboBox1.Value = "Trimestre1" Then Call Trimestre1
End Sub
Groju
Messages postés
3
Date d'inscription
mercredi 9 février 2011
Statut
Membre
Dernière intervention
10 février 2011
9 févr. 2011 à 22:49
9 févr. 2011 à 22:49
Escusez moi, je viens de me rentre compte que je me suis trompé.
Mon code bricolé (mais qui marche) c'est:
Private Sub BtOK_Click()
UFPrint.Hide
If ComboBoxPeriode.Value = "Macro1" Then
Application.Run ("Macro1")
Else
If ComboBoxPeriode.Value = "Macro2" Then
Application.Run ("Macro2")
Else
If ComboBoxPeriode.Value = "Macro3" Then
Application.Run ("Macro3")
Else
If ComboBoxPeriode.Value = "Macro4" Then
Application.Run ("Macro4")
Else
Application.Run ("GlobalMacro")
End If
End If
End If
End If
End Sub
Mais je voudrais remplacer cette série de "If Then Else" par un code plus harmonieux dirons nous ! Parce que si j'ai 20 valeurs dans ma combobox, je ne veux pas écrire 20 "If" imbriqués les uns dans les autres. (source d'erreur, et impropre)
Et oui Mike-31, le combobox est le reflet exact des noms des codes.
Mon code bricolé (mais qui marche) c'est:
Private Sub BtOK_Click()
UFPrint.Hide
If ComboBoxPeriode.Value = "Macro1" Then
Application.Run ("Macro1")
Else
If ComboBoxPeriode.Value = "Macro2" Then
Application.Run ("Macro2")
Else
If ComboBoxPeriode.Value = "Macro3" Then
Application.Run ("Macro3")
Else
If ComboBoxPeriode.Value = "Macro4" Then
Application.Run ("Macro4")
Else
Application.Run ("GlobalMacro")
End If
End If
End If
End If
End Sub
Mais je voudrais remplacer cette série de "If Then Else" par un code plus harmonieux dirons nous ! Parce que si j'ai 20 valeurs dans ma combobox, je ne veux pas écrire 20 "If" imbriqués les uns dans les autres. (source d'erreur, et impropre)
Et oui Mike-31, le combobox est le reflet exact des noms des codes.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
10 févr. 2011 à 00:11
10 févr. 2011 à 00:11
Bonsoir,
Sans tester car il est tard, essaie qcq chose comme ça :
If left(ComboBoxPeriode.Value,5) = "Macro" Then
Application.Run (ComboBoxPeriode.Value)
Else
Application.Run ("GlobalMacro")
endif
eric
Sans tester car il est tard, essaie qcq chose comme ça :
If left(ComboBoxPeriode.Value,5) = "Macro" Then
Application.Run (ComboBoxPeriode.Value)
Else
Application.Run ("GlobalMacro")
endif
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Groju
Messages postés
3
Date d'inscription
mercredi 9 février 2011
Statut
Membre
Dernière intervention
10 février 2011
10 févr. 2011 à 21:08
10 févr. 2011 à 21:08
Bonsoir à tous,
Mike-31 ca marche super!
Je te remercie.
@erric
Merci d'avoir proposé une solution.
bonne soirée et peu être à une prochaine.
Mike-31 ca marche super!
Je te remercie.
@erric
Merci d'avoir proposé une solution.
bonne soirée et peu être à une prochaine.