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
| Dim Feuille As Worksheet, Choix
'Déterminer la feuille source qui va alimenter le Combobox (N° de matricules)
Set Feuille = Sheets("BD_Préstation_service + H.C 18")
'La plage débute de la ligne 31 jusqu'à la dernière ligne 5000 (le Max)
If Feuille.[B5000].End(xlUp).Row > 31 Then
'Variable qui transpose les noms dans le Combobox
Choix = Application.Transpose(Feuille.Range("B31:B" & Feuille.[B5000].End(xlUp).Row))
Me.Par_Bord_ComboBox.List = Choix
'Assosier le nom dans le Combobox avec la variable Choix pour le filtrage
Else
ReDim Choix(1 To 1)
If Feuille.[B5000].End(xlUp).Row = 31 Then
Me.Par_Bord_ComboBox.Clear
Me.Par_Bord_ComboBox.AddItem Feuille.[B31]: Choix(1) = Feuille.[B31]
End If
End If
End Sub
'Macro de l'application de filtrage des N° de matricules à la saisie semi-automatique
'en fonction des lettres tapées dans le Combobox
Private Sub Par_Bord_ComboBox_Change()
'Ne pas raffrichir pendant le code
Application.ScreenUpdating = False
If Me.Par_Bord_ComboBox.ListIndex = -1 And IsError(Application.Match(Me.Par_Bord_ComboBox, Choix, 0)) Then
Me.Par_Bord_ComboBox.List = Filter(Choix, Me.Par_Bord_ComboBox.Text, True, vbTextCompare)
Me.Par_Bord_ComboBox.DropDown
End If
End Sub |
Partager