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
| Private Sub UserForm_Initialize()
Dim Wbk As Workbook, Fichier As String, DerLig As Long, x As Long
Dim Col1 As String, Col2 As String
Application.ScreenUpdating = False '<-- figer l'écran pour ne pas voir l'ouverture du classeur source
Fichier = "e:\MaterBAse.xls"
Col1 = "A" '<-- colonne 1 du classeur source à adapter
Col2 = "B" 'colonne 2 du classeur source à adapter
Set Wbk = Workbooks.Open(Fichier) '<-- ouverture du classeur source
With Wbk.Sheets("BASEliste") '<-- on fait référence à la feuille "Baseliste" du classeur source
DerLig = .Cells(Rows.Count, Col1).End(xlUp).Row '<-- recherche de la dernière ligne de la colonne 1
For x = 1 To DerLig '<-- de la ligne 1 à la dernière ligne (ligne de départ à adapter)
If UCase(Right(.Cells(x, Col2), 1)) = "D" Then '<--si le dernier caractère de la colonne 2 correspond à "d" ou "D"
Me.ListBox1.AddItem .Cells(x, Col1) '<-- chargement de la première colonne de la ListBox avec la valeur de la colonne 1
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = .Cells(x, Col2) '<-- chargement de la seconde colonne de la ListBox avec la valeur de la colonne 2
End If
Next
End With
Wbk.Close False '<-- fermeture du classeur source, sauvegarde = non
Set Wbk = Nothing '<-- libération de la mémoire
Application.ScreenUpdating = True '<-- réactivation de l'écran
End Sub |