XL 2021 Une macro pour plusieurs togglebutton (Userform)

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 !

sourcier09

XLDnaute Nouveau
Bonjour,
j'ai un Userform avec 12 ToggleButton.

Ils sont nommés ToggleButton2026, ToggleButton2027, ToggleButton2028...etc.
Ils ont tous la même macro.

J'aimerai remplacer tout ceci pour n'avoir qu'une seule macro se rattachant aux ToggleButton.
Est-ce possible de faire par exemple avec une variable "x" à la place des années et si oui, comment?

ex : ToggleButton(x)
Ma macro.
 
Solution
Bonjour tout le monde,
( franchement à labour, mais puisque c'est fait 🙁)
Un exemple en PJ avec un module de classe.
Test5.gif
Bonjour cathodique.

Voici la macro toute simple:

VB:
Private Sub ToggleButton2026_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2026.xlsm")
End Sub

Private Sub ToggleButton2027_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2027.xlsm")
End Sub

Private Sub ToggleButton2028_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2028.xlsm")
End Sub

Private Sub ToggleButton2029_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2029.xlsm")
End Sub

Private Sub ToggleButton2030_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2030.xlsm")
End Sub

Private Sub ToggleButton2031_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2031.xlsm")
End Sub

Private Sub ToggleButton2032_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2032.xlsm")
End Sub

...etc

Pour les fichiers, je remplacerai l'année par ME.activecontrol.caption
ce qui donnerait :
VB:
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque " & ME.ActiveControl.caption & ".xlsm")
 
Dernière édition:
Bonjour cathodique.

Voici la macro toute simple:

VB:
Private Sub ToggleButton2026_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2026.xlsm")
End Sub

Private Sub ToggleButton2027_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2027.xlsm")
End Sub

Private Sub ToggleButton2028_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2028.xlsm")
End Sub

Private Sub ToggleButton2029_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2029.xlsm")
End Sub

Private Sub ToggleButton2030_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2030.xlsm")
End Sub

Private Sub ToggleButton2031_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2031.xlsm")
End Sub

Private Sub ToggleButton2032_Click()
Unload UserForm3
Workbooks.Open ThisWorkbook.Path & ("\Decompte Banque 2032.xlsm")
End Sub

...etc
Un ToggleButton a 2 états. Je ne comprends trop son utilité plus que dans code il n'y a rien pour le seconde clic.

un commandButton suffit amplement.
 
Merci cathodique.

Je vais remplacer les toggle par command. Ce n'est pas un souci.
Mon souci est que je n'y connais rien en module de classe et events comme m'oriente wDogg66.

Ci-joint, le fichier. Ne pas prêter attention à la feuille. C'est l'UserForm qui sera utilisé.
 

Pièces jointes

- 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

Réponses
4
Affichages
394
Réponses
6
Affichages
405
  • Question Question
Microsoft 365 Code pour solde
Réponses
0
Affichages
387
Retour