Création UserForm un peu sophistiqué
Nastinho
Messages postés
10
Statut
Membre
-
Nastinho Messages postés 10 Statut Membre -
Nastinho Messages postés 10 Statut Membre -
Bonjour à tous,
J'ai réussi à créer un UserForm où j'ai deux OptionButton, dont l'un contient aussi 5 CheckBox (cf. image). Ce que je veux (mais que je n'arrive pas à obtenir):
1. Si on choisit le premier OptionButton et le premier CheckBox, par exemple, on m'affiche la feuille XXX et Synthesis B.
2. Si on choisit le premier OptionButton et le 2ème Checkbox, on m'affiche la feuille YYY et Synthesis E.
3. Si on choisit le 2ème OptionButton, on fait en sorte que ce soit impossible de cocher alors les cases des Checkbox du 1er optionbutton.
Ci-dessous le code que j'ai fait:
J'espère avoir été claire.
Merci par avance.
J'ai réussi à créer un UserForm où j'ai deux OptionButton, dont l'un contient aussi 5 CheckBox (cf. image). Ce que je veux (mais que je n'arrive pas à obtenir):
1. Si on choisit le premier OptionButton et le premier CheckBox, par exemple, on m'affiche la feuille XXX et Synthesis B.
2. Si on choisit le premier OptionButton et le 2ème Checkbox, on m'affiche la feuille YYY et Synthesis E.
3. Si on choisit le 2ème OptionButton, on fait en sorte que ce soit impossible de cocher alors les cases des Checkbox du 1er optionbutton.
Ci-dessous le code que j'ai fait:
Sub CommandButton1_Click()
If OptionButton1.Enabled = True And CheckBox1.Enabled = True And CommandButton1.Enabled = True Then
Unload Welcome
Worksheets("XXX").Visible = True And Worksheets("SYNTHESIS B").Visible = True
ElseIf OptionButton1.Enabled = True And CheckBox2.Enabled = True And CommandButton1.Enabled = True Then
Unload Welcome
Worksheets("YYY).Visible = True And Worksheets("SYNTHESIS B").Visible = True
ElseIf OptionButton1.Enabled = True And CheckBox3.Enabled = True And CommandButton1.Enabled = True Then
Unload Welcome
Worksheets("ZZZ").Visible = True And Worksheets("SYNTHESIS E").Visible = True
ElseIf OptionButton1.Enabled = True And CheckBox4.Enabled = True And CommandButton1.Enabled = True Then
Unload Welcome
Worksheets("NNN").Visible = True And Worksheets("SYNTHESIS E").Visible = True
ElseIf OptionButton1.Enabled = True And CheckBox5.Enabled = True And CommandButton1.Enabled = True Then
Unload Welcome
Worksheets("VVV").Visible = True And Worksheets("SYNTHESIS HF").Visible = True
ElseIf OptionButton2.Enabled = True And CommandButton1.Enabled = True Then
Unload Welcome
Application.Run "Auto_Open1"
ElseIf CommandButton2.Enabled = True Then
Application.Quit
End If
End Sub
J'espère avoir été claire.
Merci par avance.

A voir également:
- Création UserForm un peu sophistiqué
- Creation compte gmail - Guide
- Création site web - Guide
- Création d'un compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Creation compte vinted - Guide
7 réponses
Bonjour,
Le plus simple mettre tes Checkbox dans une Frame
Voici le code
Le plus simple mettre tes Checkbox dans une Frame
Voici le code
Private Sub OptionButton1_Click() Frame1.Visible = True End Sub Private Sub OptionButton2_Click() Frame1.Visible = False 'code pour rendre les feuilles Visible = False End Sub
Cela ne change en rien le code des Checkbox . Mais je pense que le choix de Checkbox n'est pas judicieux. Quand on sait que l'on peut checker tous les Checkbox, où sera le choix? L'OptionButton est conseillé. Tu les mets dans une Frame à la place des Checkbox. Tu laisses tes OptionButton1 et 2 en dehors de la frame.
Quand je vois cela:
If OptionButton1.Enabled = True And CheckBox1.Enabled = True And CommandButton1.Enabled = True Then
A quoi sert:
CommandButton1.Enabled = True
il est déjà à True puisque tu as cliqué dessus
Il y a pas mal de code a corriger!
Bon courage
Quand je vois cela:
If OptionButton1.Enabled = True And CheckBox1.Enabled = True And CommandButton1.Enabled = True Then
A quoi sert:
CommandButton1.Enabled = True
il est déjà à True puisque tu as cliqué dessus
Il y a pas mal de code a corriger!
Bon courage
Pour lancer l'UserForm à l'ouverture du classeur aller dans ThisWorkBook en haut à gauche et mettre ce code:
Dans le classeur que j'ai posté la frame n'est pas visible!
Private Sub Workbook_Open() UserForm1.Show End Sub
Dans le classeur que j'ai posté la frame n'est pas visible!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu mets dans :
comme dans l'exemple que je t'ai mis sur cjoint
Private Sub UserForm_Initialize() Frame1.Visible = False InvisibleTouteFeuille End sub
comme dans l'exemple que je t'ai mis sur cjoint
J'y arrive pas ....
Pourriez-vous regarder le fichier svp?
Lien: https://www.cjoint.com/?3CrxkVDXjNo
Pourriez-vous regarder le fichier svp?
Lien: https://www.cjoint.com/?3CrxkVDXjNo
Cela fonctionne très bien. L'UserForm s'ouvre à l'ouverture. Je ne sais pas ce que tu cherche à faire!
Merci bcp, j'essaierai ça!
Cdt.
Merci bcp.