Hé bien voilà ! Pour la 7ème année consécutive, je viens de recevoir ma nomination.
Je remercie toute l’équipe du programme MVP Microsoft.
MVP : Most Valuable Professional.
Hé bien voilà ! Pour la 7ème année consécutive, je viens de recevoir ma nomination.
Je remercie toute l’équipe du programme MVP Microsoft.
MVP : Most Valuable Professional.
Autant la sélection automatique d’un item dans une liste modifiable est facile grâce à une simple affectation, autant avec une liste classique c’est plus compliqué.
Je vous livre l’astuce consistant à mettre un peu de code dans une liste déroulante reprenant les valeurs de la liste.
Dans l’événement Après MAJ de la liste déroulante ou d’une zone de texte mettre le code VBA ci-dessous :
Dim i As Long
Dim i_save As Long
Me.lstMultiple.Selected(0) = True
'désélection de la liste multiple
For i = 1 To Me.lstMultiple.ListCount - 1 'parcours la liste multiple
Me.lstMultiple.Selected(i) = False
'déselection de l'élement courant
If (Me.lstMultiple.ItemData(i) = CStr(Nz(Me.lstRecherche, ""))) Then
's'il est identique à ce que je cherche
i_save = i 'je repère la ligne
End If
Next
Me.lstMultiple.Selected(i_save) = True 'en sortant je sélectionne la liste
lstMultiple est la liste classique et lstRecherche est la liste modifiable ou la zone de texte ou vous sélectionnez la valeur à trouver.
L’astuce consiste à parcourir la liste à la recherche de la valeur, d’en capter l’indice de la ligne pour l’affecter à cette même liste.