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.
à bientôt pour une nouvelle astuce.