Bonjour à tous,
Depuis Access 2007, il est possible de créer, dans une table, un champs avec une liste déroulante à sélection multiple. Le cas d'utilisation décrit ici part du principe qu'un tel champs a été mis en oeuvre puis inclus dans un formulaire et que nous devons récupérer sa valeur pour un traitement en VBA.
Dans le cas d'un ComboBox classique sa valeur sera récupérée avec la code suivant :
Avec un ComboBox multivalué, la valeur est stockée dans une table et affichée sous la forme d'un tableau. Elle ne pourra donc pas être lue avec la méthode indiquée ci dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Sub Test() 'Affiche le contenu du champs Debug.Print Me.MonComboBox.Value End Sub
Pour y parvenir nous devons interpréter le contenu du champs comme un "Array()" tel que ci-deesous :
Voilà, j'espère que ce bout de code aidera quelqu'un ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub Test() 'Déclaration des valiables utilisées Dim MonTableau, i, MaValeur 'Affectation du contenu de mon ComboBox à la variable 'MonTableau' MonTableau = Me.MonComboBox.Value 'Lecture du contenu du tableau et concaténation des valeurs dans la variable 'MaValeur' For i = 0 To UBound(MonTableau) MaValeur = MaValeur & MonTableau(i) & ";" Next 'On retire le ';' qui restera à la fin de la chaine MaValeur = Left(MaValeur, Len(MaValeur) - 1) 'Affichage du résultat Debug.Print MaValeur End Sub
Bonne journée à tous !
Partager