1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
Dim Colonne As Integer
Dim i As Integer, j As Integer
Private Sub UserForm_Initialize()
'Initialisation des variables
Colonne = 2 'Affectation du numéro de colonne à 2 car première donnée en colonne B
'On efface la couleur de remplissage des en-têtes de colonnes, ici les noms des Types
Sheets("Liste").Range("B2:E2").Interior.ColorIndex = Clear
Do While Cells(2, Colonne).Value <> "" 'Tant qu'il y a des valeurs dans la ligne 2, on charge les noms des types
frmRecherche.cboType.AddItem Cells(2, Colonne).Value
Colonne = Colonne + 1 'On incrémente le numéro de colonne afin de passer à la colonne de droite.
Loop
End Sub
'*********************************************
' Procédure permettant de charger la
' liste déroulante des résultats correspondants
'*********************************************
Private Sub cboType_Change()
'Initialisation des variables
i = 2
'On vide la liste déroulante des résultats afin de ne pas cumuler les enregistrements
frmRecherche.cboResultat.Clear
'On retire les couleurs de remplissage des en-têtes
Sheets("liste").Range("B2:F2").Interior.ColorIndex = Clear
Do While Cells(2, i).Value <> ""
If Cells(2, i).Value = cboType.Value Then
Cells(2, i).Select
ActiveCell.Interior.ColorIndex = 32
Colonne = ActiveCell.Column
End If
i = i + 1 'On incrémente le numéro de colonne
Loop
j = 3
Do While Cells(j, Colonne).Value <> ""
frmRecherche.cboResultat.AddItem Cells(j, Colonne)
j = j + 1 'On incrémente le numéro de ligne.
Loop
'On affiche la première valeur par défaut
cboResultat.ListIndex = 0
End Sub |
Partager