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 ComboBox1_Change() 'au changement dans la ComboBox1
Dim r As Range 'déclare la variable r (Recherche)
Dim Ld As Integer 'déclare la variable ld (Ligne de Départ)
Dim Lf As Integer 'déclare la variable lf (Ligne de Fin)
Dim i As Integer 'déclare la variable i (incrément)
Me.ListBox1.Clear 'vide la ListBox1
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
Lf = .Cells(.Rows.Count, 8).End(xlUp).Row 'définit la ligne de fin
Set r = .Columns(8).Find(Me.ComboBox1.Value, , xlValues, xlWhole) 'définit la recherche
If Not r Is Nothing Then 'condition : si il existe au moins une occurrence
Ld = r.Row + 1 'définit la ligne de départ
Set r = Nothing
For i = Ld To Lf 'boucle de la ligne de départ à la ligne de fin
If UCase(.Cells(i, 8)) <> .Cells(i, 8) Then 'si la couleur de la cellule est "jaune clair", sort de la procédure
Me.ListBox1.AddItem .Cells(i, 8) 'ajoute la valeur de la cellule en colonne H à la ListBox1
Else
Exit For
End If
Next i 'prochaine ligne de la boucle
Else 'sinon
MsgBox "Région non trouvée !" 'message
End If 'fin de la condition
End With 'fin de la prise en compte de l'onglet "Feuil1"
'Stop
' Partie logo régions
Nom = ComboBox1
Dim Chemin As String
'...
Chemin = ThisWorkbook.Path & "\Blason_départements_et_régions\"
Fichier = Chemin & Nom 'Sans extention
Fichier = Dir(Fichier & ".*")
If Fichier <> "" Then
Me.Image1.Picture = LoadPicture(Chemin & Fichier)
Else
On Error Resume Next: Me.Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\Blason_départements_et_régions\" & "vide")
End If
'Stop
End Sub |
Partager