XL 2019 combobox en cascade

loic3587

XLDnaute Nouveau
Bonjour ,
Je suis en train de faire un formulaire pour remplir un tableau plus facilement , mais ça beug !!!!!
J’ai des pages « choix du fluide » qui sont masquées et qui sont emmenées à évoluer soit en rajoutant des colonnes « organe » , soit en rajoutant « des consignes » par ligne .
Donc dans mon formulaire j’ai 3 combobox qui sont liée .
La combobox1 « choix du fluide » , va récupérer la feuille sélectionnée.
La combobox2 « organe », sélectionne la colonne de la feuille sélectionnée en combobox1
La combobox3 « consigne » sélectionne la cellule de la colonne sélectionnée en combobox2
En fait le soucis se situe à ce niveau-là, quand je commence à remplir les pages « choix de fluide » qui sont masqué j’ai un bug qui se produit .
Quand je sélectionne « choix du fluide » SOLVANT , « organe » XV , j’ai bien mes différentes « consigne » qui apparaissent et que je peux sélectionner.
Par contre lorsque j’ai rajouter sur la feuille SOLVANT , dans la colonne JR , l’instruction « test » en H2, je masque ma feuille et que je relance mon formulaire et que j’essaie d’aller sur cette instruction , j’ai un bug .
PS : il faut que je sélectionne une cellule en colonne C et que je la remplisse avant d’appeler mon formulaire pour que le tableau se remplisse correctement , mais ca me va bien comme ca😉 .
Si quelqu’ un aurait la gentillesse de me donner un petit coup de pouce 😉, pour programmer ces 3 combobox
 

Pièces jointes

  • 2022-08-02-fichier à corriger(1).xlsm
    113 KB · Affichages: 11

loic3587

XLDnaute Nouveau
Bonsoir , si si j ai bien joint le bon fichier ,les combobox sont vide a l ouverture du formulaire , ça , c'est voulu , ensuite dans le combobox1 a droite de "choix du fluide " 😉tu peux sélectionner une des deux pages ( solvant et HCL) , par la suite j en créerais d autre bien évidement. Ces deux feuilles tu peux les retrouver en faisant un clic droit sur l onglet de la feuille " Tableau de consignation" et afficher .
Le positionnement de USF est voulu afin de pouvoir suivre le remplissage de mon tableau .
Voila si ça a pu t éclairer un peu .
cdt
Loic
 

Robert

XLDnaute Barbatruc
Bonsoir le fil, bonsoir le forum,

La propriété .List d'une ComboBox nécessite au moins deux lignes sinon elle plante. Je te propose le code ci-dessous :

VB:
Private Sub ComboBox2_Change()
Dim Ws As Worksheet
Dim F As Range
Dim L As Integer

Set Ws = Worksheets(ComboBox1.Value)
Set F = Ws.Rows(1).Find(ComboBox2.Value)
If Not F Is Nothing Then
    DL = Ws.Cells(Ws.Rows.Count, F.Column).End(xlUp).Row
    With Me.ComboBox3
        .Clear
        Select Case DL
            Case 2
                Me.ComboBox3.AddItem Ws.Cells(2, F.Column)
            Case Else
                Me.ComboBox3.List = Application.Transpose(Ws.Range(Ws.Cells(2, F.Column), Ws.Cells(DL, F.Column)))
        End Select
    End With
End If
End Sub

Je trouve osée la partie :

Code:
Me.TextBox1 = Range("A2")
Me.TextBox3 = Range("h4")
Me.TextBox4 = Range("e8")
Me.TextBox5 = Range("e9")
Perso j'aurais écrit :
Code:
Private Sub UserForm_initialize()
Dim OT As Worksheet
Dim S As Worksheet

Set OT = Worksheets("Tableau de consignation ")
Me.TextBox1 = OT.Range("A2")
Me.TextBox3 = OT.Range("h4")
Me.TextBox4 = OT.Range("e8")
Me.TextBox5 = OT.Range("e9")
'etc...'
 

Discussions similaires

Statistiques des forums

Discussions
302 236
Messages
2 001 688
Membres
215 256
dernier inscrit
Adso