[résolu]Affichage de textbox selon choix de combobox

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

heparti

XLDnaute Occasionnel
Bonjour,

Je suis en phase de construction d'un formulaire en utilisant un userform. Je souhaite ajouter une combobox supplémentaire avec un choix entre 3 possibilités :

- création IND
- création DOS
- déplacement

Selon le choix de cette combobox, l'affichage des autres combobox et textbox en dépendra :

1) création IND :
Cbx et Tbx à afficher : 1;2;3;4;5;6;7;8;9;image

2) création DOS
Cbx et Tbx à afficher : 1;2;3;4;5;6;7;8;9;10;image

3) déplacement
Cbx et Tbx à afficher : 1,2;3;4;5;6;7;8;9;10;image

le détail est dispo dans le fichier joint.

Merci pour votre aide
 

Pièces jointes

Dernière édition:
Re : Affichage de textbox selon choix de combobox

Merci BrunoM45,

J'ai effectué les recherches sur XLD mais je n'ai pas trouvé de piste qui pourrait me mettre sur la voie.

En effet, j'ai trouvé des demandes qui étaient conditionnelles mais pour l'affichage du contenu d'une textbox par rapport à une autre ou combobox, mais rien concernant le "masquage" de textbox/combobox selon la sélection d'une combobox.

J'ai pu avancer ce matin dans l'amélioration de l'userform (format des textbox, protection des feuilles).

Une fois ce problème résolu, je pourrai continuer avec un autre problème que j'exposerai alors.

Merci pour ton aide 😉
 
Re : Affichage de textbox selon choix de combobox

Merci beaucoup pour ton aide carcharodon-carcharias, mais j'avoue mes lacunes pour l'adaptation à mon cas.

J'ai ajouté ce code au mien pour tester sur une seule textbox, mais en vain.

Code:
Dim Img
Private Sub Btn_Annuler_Click()
Unload Me

End Sub

Private Sub Btn_Valider_Click()
Sheets("BD").Unprotect Password:="test"
  With Sheets("BD")
    Dim L As Byte
For L = 1 To 30
    If Cbx_MOTIF = "Transfert" Then
        Me.Controls("Tbx_IND" & L).Visible = True
    Else
        Me.Controls("Tbx_IND" & L).Visible = False
    End If
Next L
    Derlign = .Range("A65000").End(xlUp).Row + 1
        .Range("A" & Derlign) = Tbx_Fiche
        .Range("B" & Derlign) = Tbx_HEURE
        .Range("D" & Derlign) = Cbx_Nom
        .Range("E" & Derlign) = Tbx_NUMDOS
        .Range("F" & Derlign) = Tbx_Ref
        .Range("G" & Derlign) = Tbx_Materiel
        .Range("H" & Derlign) = Tbx_NumSerie
        .Range("I" & Derlign) = Tbx_Qte
        .Range("J" & Derlign) = Tbx_DATEN
        .Range("K" & Derlign) = Tbx_DescriptionNC
        .Range("L" & Derlign) = Tbx_CauseNC
        .Range("O" & Derlign) = Tbx_IND
        .Range("Q" & Derlign) = Tbx_DATEN
        .Range("C" & Derlign) = Tbx_DATEDEM
        .Range("R" & Derlign) = Cbx_MOTIF
        If Cbx_Image <> "" Then
        .Hyperlinks.Add Anchor:=.Range("L" & Derlign), Address:=Img, TextToDisplay:=Cbx_Image.Text
        End If
    For i = 2 To 7
        If Me.Controls("OptionButton" & i).Value = True Then
            Tbx_Temps = Me.Controls("OptionButton" & i).Caption
        End If
    Next

        .Range("M" & Derlign) = Tbx_Temps
  End With
  Unload Me
Sheets("BD").Protect Password:="test"
End Sub

Private Sub Cbx_Image_Change()
Image1.Picture = LoadPicture("")
    If Cbx_Image = "" Then Exit Sub
Img = ActiveWorkbook.Path & "\PJ\" & Cbx_Image
Image1.Picture = LoadPicture(Img)

End Sub

Private Sub Label17_Click()

End Sub

Private Sub Label12_Click()

End Sub

Private Sub Label16_Click()

End Sub

Private Sub Label6_Click()

End Sub

Private Sub Label8_Click()

End Sub

Private Sub OptionButton8_Change()
Tbx_Temps.Enabled = IIf(OptionButton8, 1, 0)
Tbx_Temps.BackColor = IIf(OptionButton8, &H8000000E, &H8000000F)

End Sub

Private Sub OptionButton8_Click()

End Sub

Private Sub UserForm_Initialize()
  Me.Cbx_Image.Clear
  FichImg = Dir(ActiveWorkbook.Path & "\PJ\*.jpg")
  Do While FichImg <> ""
    Me.Cbx_Image.AddItem FichImg
    FichImg = Dir
  Loop
  With Sheets("Données")
    For Each CelNom In .Range("A2:A" & .Range("A65000").End(xlUp).Row)
        Cbx_Nom.AddItem CelNom.Value
    Next
 With Sheets("Données")
    For Each CelNom In .Range("B2:B" & .Range("B65000").End(xlUp).Row)
        Cbx_MOTIF.AddItem CelNom.Value
    Next
  End With
  End With
    If Sheets("BD").Range("A2") = "" Then
    Tbx_Fiche = 1
    Else
    Tbx_Fiche = Sheets("BD").Range("A65000").End(xlUp) + 1
    End If
Tbx_Temps.Enabled = False
Tbx_Temps.BackColor = &H8000000F
Tbx_Fiche.Enabled = False

End Sub

Private Sub UserForm_Activate()
Tbx_DATEDEM.Value = Format(Date, "dd/mm/yyyy")
Tbx_HEURE.Value = Format(Now, "hh:nn:ss")
End Sub

    Private Sub Tbx_DATEN_Change()
    Dim Valeur As Byte
    Tbx_DATEN.MaxLength = 10 'nb caracteres maxi dans textbox
    Valeur = Len(Tbx_DATEN)
    If Valeur = 2 Or Valeur = 5 Then Tbx_DATEN = Tbx_DATEN & "/"
    End Sub
 
Re : Affichage de textbox selon choix de combobox

Merci Fo_rum, ça fonctionne nickel, adapté à mon code, avec un ou plusieurs champs masqué(s) selon l'option choisie 😉

Ce problème étant résolu, je poste un autre problème, toujours pour le même code 😉

Un jour peut-être je pourrais faire la même chose seul...ça se fera doucement 😉
 
- 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