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: 15

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
Repose en paix
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

Réponses
10
Affichages
350

Statistiques des forums

Discussions
311 716
Messages
2 081 828
Membres
101 823
dernier inscrit
mohamed3s