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

Re : User

Bonjour

Peut-être comme cela
VB:
Option Explicit
Dim i As Byte

Private Sub ComboBox1_Change()
    For i = 1 To 2
        Controls("TextBox" & i).Visible = IIf(ComboBox1.Value = "x" Or ComboBox1.Value = "y" Or ComboBox1.Value = "z", True, False)
        Controls("Label" & i).Visible = IIf(ComboBox1.Value = "x" Or ComboBox1.Value = "y" Or ComboBox1.Value = "z", True, False)
    Next i
End Sub

Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
    For i = 1 To 2
        Controls("TextBox" & i).Visible = False
        Controls("Label" & i).Visible = False
    Next i
With ComboBox1
    .AddItem "x"
    .AddItem "y"
    .AddItem "z"
    .AddItem "w"
End With
End Sub
Bonne Journée
 

Pièces jointes

Dernière édition:
Re : User

Bonjour à tous,

Avec le code de DL_13, un peu plus court :

VB:
Option Explicit
Dim i As Byte

Private Sub ComboBox1_Change()
    For i = 1 To 2
        Controls("TextBox" & i).Visible = IIf(ComboBox1.Value <> "", True, False)
        Controls("Label" & i).Visible = IIf(ComboBox1.Value <> "", True, False)
    Next i
End Sub

Private Sub CommandButton1_Click()
    Unload Me
End Sub

Private Sub UserForm_Initialize()
    For i = 1 To 2
        Controls("TextBox" & i).Visible = False
        Controls("Label" & i).Visible = False
    Next i
    With ComboBox1
        .AddItem "x"
        .AddItem "y"
        .AddItem "z"
        .AddItem "w"
    End With
End Sub

A+ à tous
 
Re : User

Bonjour JCGL, re le fil

Oui effectivement sauf que tu as certainement voulu écrire cela 🙂

VB:
Option Explicit
Dim i As Byte

Private Sub ComboBox1_Change()
    For i = 1 To 2
        Controls("TextBox" & i).Visible = IIf(ComboBox1.Value <> "w", True, False)
        Controls("Label" & i).Visible = IIf(ComboBox1.Value <> "w" , True, False)
    Next i
End Sub

sans quoi la valeur "w" dans le ComboBox1 aura le même effet que les autres valeurs 🙂

Bonne Journée
 
Re : User

bonjour BRUNO62,JCGL,DL_13
si on met les textboxs & labels dans un frame & par defaut frame1 non visible dans proprietées cela peut être plus simple

Code:
Private Sub ComboBox1_Change()
 Frame1.Visible = IIf(ComboBox1.Value <> "w", True, False)
 End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
      With ComboBox1
        .AddItem "x"
        .AddItem "y"
        .AddItem "z"
        .AddItem "w"
      End With
End Sub
 
Re : User

Bonjour Bruno, DL, bonjour le forum,

Autre option avec Select Case :
Code:
Option Explicit
Private tb
Private i As Byte
 
Private Sub UserForm_Initialize()
tb = Array(TextBox1, TextBox2, Label1, Label2)
With ComboBox1
    .AddItem "x"
    .AddItem "y"
    .AddItem "z"
    .AddItem "w"
End With
For i = 0 To 3
    tb(i).Visible = False
Next i
End Sub
 
Private Sub ComboBox1_Change()
Select Case Me.ComboBox1.Value
    Case "x", "y", "z"
        For i = 0 To 3
            tb(i).Visible = True
        Next i
    Case Else
        For i = 0 To 3
            tb(i).Visible = False
        Next i
End Select
End Sub
 
Private Sub CommandButton1_Click()
Unload Me
End Sub

[Édition]
Ooops, mort de rire !!!! Bonjour JCGL, Laetita. je vote direct pour Laetitia..
 
Dernière édition:
Re : User

Bonjour,

simple remarque pour ceux qui connaissent mal IIf* et pour un type de raisonnement peu utilisé (bien qu'intéressant à mon avis) :
avec Frame
Code:
Private Sub ComboBox1_Change()
    Frame1.Visible = ComboBox1 <> "w"
End Sub
sans Frame
Code:
Private Sub ComboBox1_Change()
    Dim i As Byte
    For i = 1 To 2
        Controls("Textbox" & i).Visible = ComboBox1 <> "w"
        Controls("Label" & i).Visible = ComboBox1 <> "w"
    Next i
End Sub
* plus gourmand en ressources
 
- 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
10
Affichages
1 K
Réponses
10
Affichages
493
Réponses
3
Affichages
313
Retour