Afficher dans une combobox des valeurs situées dans une autre feuille

Bonjour à tous

J'ai un formulaire contenant 3 combobox: Combobox_spécialité, Combobox_boites, Combobox_instruments et j'ai plusieurs feuilles (Base de données général, et 8 feuilles de spécialité. Dans chacune de ces feuilles de spécialité figurent une liste de 8 boites contenant chacune plusieurs instruments. Chacune de ces boites ont un contenu différents en réalité donc ne tenez pas compte de ce qui est marqué dans le tableau.

Quand j'ouvre le formulaire, les données de la combobox_spécialité s'affichent. Quand je clique sur une des spécialités, les boites de cette spécialité s'affichent dans la combobox_boites. Jusqu'à présent tout fonctionne. Et là je bloque pour le code suivant:

je désire afficher dans la combobox_instruments, la liste des instruments contenus dans la boite sélectionnée.

Par exemple: je sélectionne la spécialité "Gynéco-mater" dans la combobox_spécialité, puis je sélectionne la "boite mater 1" dans la combobox_boite. Il doit s'afficher dans la combobox_instruments la liste des instruments de cette boite située dans la feuille "Gynéco-mater" en A4 jusqu'à la dernière ligne non vide en A28. Et idem pour les autres spécialités sur leur feuille respective.

Merci de me donner un coup de main

Johann

37essai.xlsm (188.83 Ko)

Bonjour,

Macro à tester :

Private Sub ComboBox_boite_Change()
ComboBox_instruments.Clear
Dim ws As Worksheet
Dim nom As String
Dim nb As Long
nom = ComboBox_spécialité.Value
Worksheets(nom).Select
nb = Worksheets(nom).Range("A4").End(xlDown).Row
    For i = 3 To nb
        ComboBox_instruments.AddItem Cells(i, 1)
    Next
End Sub

Avec le fichier,

Cordialement

84essai.xlsm (192.24 Ko)

Bonjour

a voir

A+

Maurice

Private Sub UserForm_Initialize()
Feuil1.Select
    For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column 'de la colonne C (n°3) à la dernière colonne utilisée
        ComboBox_spécialité.AddItem Cells(1, i)
    Next
End Sub

Private Sub ComboBox_spécialité_Change()
ComboBox_instruments.Clear
    With Feuil1
          Col = .Rows(1).Cells.Find(ComboBox_spécialité.Value, LookAt:=xlWhole).Column
          ComboBox_boite.Clear
          ComboBox_boite.List = .Range(.Cells(2, Col), .Cells(.Cells(Rows.Count, Col).End(xlUp).Row, Col)).Value
    End With
Sheets(ComboBox_spécialité.Value).Select
End Sub

Private Sub ComboBox_boite_Change()
If ComboBox_boite.ListIndex = -1 Then Exit Sub
Colone = Array(1, 10, 19, 28, 37, 46, , 55, 64)
Col = Colone(ComboBox_boite.ListIndex)
      ComboBox_instruments.Clear
      ComboBox_instruments.List = Range(Cells(4, Col), Cells(Cells(Rows.Count, Col).End(xlUp).Row, Col)).Value
End Sub

Private Sub ComboBox_instruments_Change()

End Sub

Merci à tous les deux de m'avoir répondu.

Pour ton code Besoin d'aide ça beuge.

Pour ton code Archer ça fonctionne parfaitement. Mais il y a un petit hic. Ca fonctionne pas pour Ophtalo1

Et puis je n'arrive pas à faire apparaître les informations des autres colonnes (quantité, catégorie, sous catégorie etc...) dans les textboxs.

j'ai tenté de réutilisé ton code adapté aux textbox mais en vain.

Merci pour votre aide.

Johann

20essai.xlsm (192.97 Ko)

Bonjour

voila une modife mes il aime pas un seul nom HI

A+

Maurice

106essai-1.xlsm (195.77 Ko)
Rechercher des sujets similaires à "afficher combobox valeurs situees feuille"