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

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

  • Carotte.zip
    44.9 KB · Affichages: 83
  • Carotte.zip
    44.9 KB · Affichages: 80
  • Carotte.zip
    44.9 KB · Affichages: 82
Dernière édition:

heparti

XLDnaute Occasionnel
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 ;)
 

heparti

XLDnaute Occasionnel
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
 

Fo_rum

XLDnaute Accro
Re : Affichage de textbox selon choix de combobox

Bonjour,

S'il s'agit simplement d'afficher, vois si cela peut te donner des idées.
S'il faut aussi initialiser, c'est une autre histoire
 

Pièces jointes

  • IniUsF.xls
    52 KB · Affichages: 279

heparti

XLDnaute Occasionnel
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 ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87