Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copier résultat d'une sélection multiple listbox dans une table

4 réponses
Avatar
access13090
Bonsoir =E0 tous,

J'ai cr=E9=E9 un formulaire simple reli=E9 =E0 une table.
L'un des contr=F4les de ce formulaire est une zone de liste (listbox)
contenant des valeurs (liste de valeurs). J'ai modifi=E9 la propri=E9t=E9
s=E9lection multiple en mode simple.
J'ai cherch=E9 dans l'aide d'access la possibilit=E9 de pouvoir copier
dans le champ de la table le r=E9sultat de l s=E9lection multiple. Sans
succ=E8s, malheureusement.

Quelqu'un pourrait-t-il m'indiquer comment faire pour r=E9aliser cette
manipulation ?

Merci d'avance

4 réponses

Avatar
Fabien
Bonsoir à tous,

J'ai créé un formulaire simple relié à une table.
L'un des contrôles de ce formulaire est une zone de liste (listbox)
contenant des valeurs (liste de valeurs). J'ai modifié la propriété
sélection multiple en mode simple.
J'ai cherché dans l'aide d'access la possibilité de pouvoir copier
dans le champ de la table le résultat de l sélection multiple. Sans
succès, malheureusement.

Quelqu'un pourrait-t-il m'indiquer comment faire pour réaliser cette
manipulation ?

Merci d'avance
Bonjour

Avec un zeste de Vba.
Pour stocker les éléments séléctionnés sous forme de chaine dans un
champ de la table appellé lechamps. Les éléments sont séparés par des ; .

Dim I as Integer
For i = 0 to me.liste0.listcount
If Me.liste0.selected(I) then me.lechamps=me.lechamps &
me.liste0.column(0,i) & ";"
next i

@+

Pour réattribuer a la liste les valeurs séléctionnées précédement
Dim i as Integer
For i =0 to me.liste0.listcount
Me.liste0.selected(I) = false ' valeur par défaut
If Instr(1,me.liste0.column(0,I),me.lechamps)>0 then
Me.liste0.selected(I) = True
Next I

Avatar
access13090
Bonsoir,
Merci pour cette réponse.
Malheureusement je ne maîtrise pas le vba !
Pourriez-vous m'indiquer où placer cette instruction ? Dans la fenêtre
de projet du formulaire ?
Me suffit-il de copier l'instruction en l'état ?

Merci d'avance

Bonjour
Avec un zeste de Vba.
Pour stocker les éléments séléctionnés sous forme de chaine dans un
champ de la table appellé lechamps. Les éléments sont séparés pa r des ; .

Dim I as Integer
For i = 0 to me.liste0.listcount
If Me.liste0.selected(I) then me.lechamps=me.lechamps &
me.liste0.column(0,i) & ";"
next i

@+

Pour réattribuer a la liste les valeurs séléctionnées précédem ent
Dim i as Integer
For i =0 to me.liste0.listcount
Me.liste0.selected(I) = false ' valeur par défaut
If Instr(1,me.liste0.column(0,I),me.lechamps)>0 then
Me.liste0.selected(I) = True
Next I


Avatar
Fabien
Bonsoir,
Merci pour cette réponse.
Malheureusement je ne maîtrise pas le vba !
Pourriez-vous m'indiquer où placer cette instruction ? Dans la fenêtre
de projet du formulaire ?
Me suffit-il de copier l'instruction en l'état ?

Merci d'avance

Bonjour
Avec un zeste de Vba.
Pour stocker les éléments séléctionnés sous forme de chaine dans un
champ de la table appellé lechamps. Les éléments sont séparés par des ; .

Dim I as Integer
For i = 0 to me.liste0.listcount
If Me.liste0.selected(I) then me.lechamps=me.lechamps &
me.liste0.column(0,i) & ";"
next i

@+

Pour réattribuer a la liste les valeurs séléctionnées précédement
Dim i as Integer
For i =0 to me.liste0.listcount
Me.liste0.selected(I) = false ' valeur par défaut
If Instr(1,me.liste0.column(0,I),me.lechamps)>0 then
Me.liste0.selected(I) = True
Next I


Tu peux mettre la premiére partie du code sur l'événement aprés mise a

jour de ta liste0 (si elle s'appelle comme celà)

Sub Liste0_afterUpdate()
Dim I as Integer
For i = 0 to me.liste0.listcount
If Me.liste0.selected(I) then me.lechamps=me.lechamps &
me.liste0.column(0,i) & ";"
next i
end sub


Et la seconde partie du code sur l'évenement sur activation du formulaire
Sub Form_Current()
Dim i as Integer
For i =0 to me.liste0.listcount
Me.liste0.selected(I) = false ' valeur par défaut
If Instr(1,me.liste0.column(0,I),me.lechamps)>0 then
Me.liste0.selected(I) = True
Next I
End sub



Ci joint une petite base avec un formulaire formulaire1 qui contient un
exemple.
http://cjoint.com/?cvrjlRIIH0
Bon Week


Avatar
access13090
Bonjour,
Un grand merci pour la base de données exemple
Cordialement

Tu peux mettre la premiére partie du code sur l'événement aprés mi se a
jour de ta liste0 (si elle s'appelle comme celà)

Sub Liste0_afterUpdate()
Dim I as Integer
For i = 0 to me.liste0.listcount
If Me.liste0.selected(I) then me.lechamps=me.lechamps &
me.liste0.column(0,i) & ";"
next i
end sub


Et la seconde partie du code sur l'évenement sur activation du formulair e
Sub Form_Current()
Dim i as Integer
For i =0 to me.liste0.listcount
Me.liste0.selected(I) = false ' valeur par défaut
If Instr(1,me.liste0.column(0,I),me.lechamps)>0 then
Me.liste0.selected(I) = True
Next I
End sub



Ci joint une petite base avec un formulaire formulaire1 qui contient un
exemple.
http://cjoint.com/?cvrjlRIIH0
Bon Week