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
| Private Sub Ini()
Dim CTRL As Control 'Variable pour la collection des controls
Dim L As Integer 'Variable pour connaitre le numéro de derniere ligne
Dim i As Integer 'Variable pour connaitre incrémenter les Data
'On Vide tous les Controls
For Each CTRL In Me.Controls
If TypeOf CTRL Is MSForms.TextBox Or TypeOf CTRL Is MSForms.ComboBox Then
CTRL = ""
End If
Next CTRL
Me.CmbNom.Clear 'On vide les précédentes données
Set WS = ThisWorkbook.Sheets("Base") 'On identifie l'objet pour la feuille de travail
L = WS.Range("A65536").End(xlUp).Row 'On identifie la dernière ligne en partant du bas
'Pour éviter les fash d'écran pour le select ci dessous
Application.ScreenUpdating = False
WS.Select 'On sélectionne la feuille sinon bug si elle ne l'est pas
WS.Range("A2").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess 'Le Sort
For i = 3 To L 'Boucle départ 2 (Ligne 2 de la feuille, jusqu'à dernière
With Me.CmbNom 'Avec la ComboBox1
.AddItem WS.Range("A" & i) 'On ajoute dans la ComboBox toutes les valeurs, cellules après cellules
End With
Next i 'Next pour poursuivre la boucle pour le i suivant
Me.CmbResto.Clear 'On vide les précédentes données
Set WS = ThisWorkbook.Sheets("Base") 'On identifie l'objet pour la feuille de travail
L = WS.Range("D65536").End(xlUp).Row 'On identifie la dernière ligne en partant du bas
'Pour éviter les fash d'écran pour le select ci dessous
Application.ScreenUpdating = False
WS.Select 'On sélectionne la feuille sinon bug si elle ne l'est pas
WS.Range("D2").Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess 'Le Sort
For i = 3 To L 'Boucle départ 2 (Ligne 2 de la feuille, jusqu'à dernière
With Me.CmbResto 'Avec la CmbResto
.AddItem WS.Range("D" & i) 'On ajoute dans la ComboBox toutes les valeurs, cellules après cellules
End With
Next i 'Next pour poursuivre la boucle pour le i suivant
Application.ScreenUpdating = True
End Sub |
Partager