XL 2019 afficher ou masquer des textbox et label selon la valeur d'un combobox

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

Monhtc

XLDnaute Occasionnel
Bonjour chers tous. Quelqu'un pour m'aider peut etre?
J'ai un Userform composé de 5 textbox :
-textbox
-textbox2
-textbox3
-textbox5
-textbox6

et 1 combobox avec les option ("BASIC", "COMPLET", "FULL", "PREMIUM")
Je souhaite masquer au lancement du userfom la textbox6 et son label26 mais l'afficher si et seulement si la valeur de la combobox est "FULL"
 

Pièces jointes

Bonjour,
VB:
Private Sub Combobox_Change()
    If Me.Combobox.List(Me.Combobox.ListIndex) = "FULL" Then
        Me.TextBox6.Visible = True
        Me.Label26.Visible = True
    Else
        Me.TextBox6.Visible = False
        Me.Label26.Visible = False
    End If
End Sub

Private Sub UserForm_Initialize()
    Combobox.List = Array("BASIC", "COMPLET", "FULL", "PREMIUM")
    Me.TextBox6.Visible = False
    Me.Label26.Visible = False
End Sub
 
Bonsoir @Monhtc ,@Dudu2 , le Forum

La même approche mais avec une meilleure "rigueur" dans le nommage des Controls ActiveX du Userform afin de se permettre de faire des Loop appropriés et plus efficaces en cas de redondance selon les autres options ("BASIC", "COMPLET", "FULL", "PREMIUM") selon le cas si on joue à "cache-cache" ... 😉

Bonne découverte
@+Thierry
 

Pièces jointes

Re @Dudu2

Oh ce sont des habitudes de vieux singes.... Comme j'ai dit si, dans l'évolution, si on joue à "cache-cache" ...

Le loop X permet ceci :

VB:
    For Each CTRL In Me.Controls
        For x = 1 To 6
            Select Case x
            Case 4 'Option non Full
                If CTRL.Name = "TextBox" & x Or CTRL.Name = "Label" & x Then
                 CTRL.Visible = False
                End If
            Case 3, 2, 1 'Option Basic par exemple ...
                If CTRL.Name = "TextBox" & x Or CTRL.Name = "Label" & x Then
                 CTRL.Visible = False
            End Select
        Next x
    Next CTRL

A force de faire des grimaces, on se ride, mais on anticipe, et sur 6 controls ca ne mange pas de pain ce double loop.

Bonne soirée
@+Thierry
 
Dernière édition:
Bonjour,
VB:
Private Sub Combobox_Change()
    If Me.Combobox.List(Me.Combobox.ListIndex) = "FULL" Then
        Me.TextBox6.Visible = True
        Me.Label26.Visible = True
    Else
        Me.TextBox6.Visible = False
        Me.Label26.Visible = False
    End If
End Sub

Private Sub UserForm_Initialize()
    Combobox.List = Array("BASIC", "COMPLET", "FULL", "PREMIUM")
    Me.TextBox6.Visible = False
    Me.Label26.Visible = False
End Sub
Ca marche nickel merci grand merci
 
Re @Dudu2

Oh ce sont des habitudes de vieux singes.... Comme j'ai dit si, dans l'évolution, si on joue à "cache-cache" ...

Le loop X permet ceci :

VB:
    For Each CTRL In Me.Controls
        For x = 1 To 6
            Select Case x
            Case 4 'Option non Full
                If CTRL.Name = "TextBox" & x Or CTRL.Name = "Label" & x Then
                 CTRL.Visible = False
                End If
            Case 3, 2, 1 'Option Basic par exemple ...
                If CTRL.Name = "TextBox" & x Or CTRL.Name = "Label" & x Then
                 CTRL.Visible = False
            End Select
        Next x
    Next CTRL

A force de faire des grimaces, on se ride, mais on anticipe, et sur 6 controls ca ne mange pas de pain ce double loop.

Bonne soirée
@+Thierry
Merci professeur. sauf que je me suis perdu dans l'adaptation du code. En effet j'ai constaté que deux textbox se sont masqués
 
Re Bonsoir @Monhtc ,

qu'est ce qui te perd ? Tu as six TextBoxs et six Labels je les ai renumérotées proprement dans l'ordre logique de leur emplacement respectif de 1 à 6...
Ensuite je peux "jouer" avec un Loop X de 1 à 6 ...

J'ai fait une autre démo v01 avec des cas un peu plus "cache-cache" (testes "PREMIUM")...

Bonne découverte 😉

@+Thierry
 

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

Retour