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

List box

6 réponses
Avatar
SOCARA Strasbourg
En VBA, j'ai un userform contenant une list box nommée LISTE (original ?)
et un bouton nommé VALIDER
dans cette liste, je récupére les valeurs d'un tableau nommé RESULTAT.

Je peux selectionner une des valeurs de ma liste
et je voudrais poser en C1 la valeur précédemment selectionnée quand je clic
sur
un bouton de mon userform.

J'ai testé différents bout de code, mais je n'arrive pas à récupérer cette
damnée valeur.

quelqu'un aurait il une idée ?

6 réponses

Avatar
Hervé
Salut SOCARA,
Bonsoir de Mulhouse.
En déclarant ta variable en tête du module de ta form, la valeur sera gardée
aussi longtemps que la form est ouverte. Si tu veux la garder plus longtemps
encore (aussi longtemps que le classeur sera ouvert), déclare là Public dans
un module standard.

Dim MaVar 'déclarée en tête de module

Private Sub ListBox1_Click()
'ici ton code...
'et à la fin, récupère la valeur
With ListBox1
MaVar = .List(.ListIndex)
End With
End Sub

Hervé.

"SOCARA Strasbourg" a écrit dans le message news:
bgtt7l$qeg$
En VBA, j'ai un userform contenant une list box nommée LISTE (original ?)
et un bouton nommé VALIDER
dans cette liste, je récupére les valeurs d'un tableau nommé RESULTAT.

Je peux selectionner une des valeurs de ma liste
et je voudrais poser en C1 la valeur précédemment selectionnée quand je
clic

sur
un bouton de mon userform.

J'ai testé différents bout de code, mais je n'arrive pas à récupérer cette
damnée valeur.

quelqu'un aurait il une idée ?





Avatar
SOCARA Strasbourg
Super ça marche, mais
en fait mon liste box affiche le contenu de 6 colonnes

Et je voudrais que la récupération se fasse sur les 6 colonnes
c'est à dire que les valeurs soient "posées" en C1:C6
merci

"Vincent." a écrit dans le message de
news:0bd701c35cfe$cb6d6aa0$
Salut !
As-tu essayé ça :
MaVar = Liste.value
Range("C1").value = MaVar
...

-----Message d'origine-----
En VBA, j'ai un userform contenant une list box nommée
LISTE (original ?)

et un bouton nommé VALIDER
dans cette liste, je récupére les valeurs d'un tableau
nommé RESULTAT.


Je peux selectionner une des valeurs de ma liste
et je voudrais poser en C1 la valeur précédemment
selectionnée quand je clic

sur
un bouton de mon userform.

J'ai testé différents bout de code, mais je n'arrive pas
à récupérer cette

damnée valeur.

quelqu'un aurait il une idée ?



.



Avatar
SOCARA Strasbourg
Reprennons depuis le début, car je crois que je m'égare :
voilà exactement ce que je veux :

J'ai donc un tableau avec les colonnes suivantes (nom de la pièce,
fournisseur, prix, date, unité, divers)
ce tableau est repris dans un LIST_BOX (liste), à l'intérieur d'un USERFORM.
Je voudrais pouvoir sélectionner un élément de ma liste du list_box et quand
je clic sur un bouton,
cela ferme le userform et me positionne la cellule active sur l'élément
sélectionné.
(il peut y avoir plusieurs élément avec le même nom, mais un fournissseur
différent, donc
la detection du bon élément doit se faire sur plusieurs colonnes)

j'ai réussi à adapter le bout de code de Vincent, mais je n'arrive pas à lui
indiquer qu'il faut
aussi vérifier les autre colonnes de la sélection.

"Vincent." a écrit dans le message de
news:0bd701c35cfe$cb6d6aa0$
Salut !
As-tu essayé ça :
MaVar = Liste.value
Range("C1").value = MaVar
...

-----Message d'origine-----
En VBA, j'ai un userform contenant une list box nommée
LISTE (original ?)

et un bouton nommé VALIDER
dans cette liste, je récupére les valeurs d'un tableau
nommé RESULTAT.


Je peux selectionner une des valeurs de ma liste
et je voudrais poser en C1 la valeur précédemment
selectionnée quand je clic

sur
un bouton de mon userform.

J'ai testé différents bout de code, mais je n'arrive pas
à récupérer cette

damnée valeur.

quelqu'un aurait il une idée ?



.



Avatar
AV
Avec ta ListBox ayant comme RowSource : Feuil1!A2:F10 (6colonnes) et comme
propriété ColumnCount = 6
En A1:F1 de la feuille source : étiquettes de colonnes

Tu fais un choix et tu veux sélectionner la 1° cellule de la ligne du choix
A affecter à un bouton (?)
Private Sub CommandButton1_Click()
Range("Feuil1! A" & UserForm1.ListBox1.ListIndex + 2).Select
End Sub

Si tu veux sélectionner la ligne du choix :
Private Sub CommandButton1_Click()
x = UserForm1.ListBox1.ListIndex + 2
Range("Feuil1! A" & x & ":F" & x).Select
End Sub

AV

"SOCARA Strasbourg" a écrit dans le message news:
bgvgm2$eb5$
Reprennons depuis le début, car je crois que je m'égare :
voilà exactement ce que je veux :

J'ai donc un tableau avec les colonnes suivantes (nom de la pièce,
fournisseur, prix, date, unité, divers)
ce tableau est repris dans un LIST_BOX (liste), à l'intérieur d'un USERFORM.
Je voudrais pouvoir sélectionner un élément de ma liste du list_box et quand
je clic sur un bouton,
cela ferme le userform et me positionne la cellule active sur l'élément
sélectionné.
(il peut y avoir plusieurs élément avec le même nom, mais un fournissseur
différent, donc
la detection du bon élément doit se faire sur plusieurs colonnes)

j'ai réussi à adapter le bout de code de Vincent, mais je n'arrive pas à lui
indiquer qu'il faut
aussi vérifier les autre colonnes de la sélection.

"Vincent." a écrit dans le message de
news:0bd701c35cfe$cb6d6aa0$
Salut !
As-tu essayé ça :
MaVar = Liste.value
Range("C1").value = MaVar
...

-----Message d'origine-----
En VBA, j'ai un userform contenant une list box nommée
LISTE (original ?)

et un bouton nommé VALIDER
dans cette liste, je récupére les valeurs d'un tableau
nommé RESULTAT.


Je peux selectionner une des valeurs de ma liste
et je voudrais poser en C1 la valeur précédemment
selectionnée quand je clic

sur
un bouton de mon userform.

J'ai testé différents bout de code, mais je n'arrive pas
à récupérer cette

damnée valeur.

quelqu'un aurait il une idée ?



.







Avatar
Frédéric Sigonneau
Bonjour,

Et si tu veux accéder, sur une ligne (la 5ème par ex) sélectionnée dans la
listbox à l'élément qui correspond à la 4ème colonne (par ex tjrs), tu peux
utiliser la propriété List de ta ListBox, qui est automatiquement dans ce cas un
tableau à deux dimensions (de base 0) :

Elément=Liste.List(4,3)

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Reprennons depuis le début, car je crois que je m'égare :
voilà exactement ce que je veux :

J'ai donc un tableau avec les colonnes suivantes (nom de la pièce,
fournisseur, prix, date, unité, divers)
ce tableau est repris dans un LIST_BOX (liste), à l'intérieur d'un USERFORM.
Je voudrais pouvoir sélectionner un élément de ma liste du list_box et quand
je clic sur un bouton,
cela ferme le userform et me positionne la cellule active sur l'élément
sélectionné.
(il peut y avoir plusieurs élément avec le même nom, mais un fournissseur
différent, donc
la detection du bon élément doit se faire sur plusieurs colonnes)

j'ai réussi à adapter le bout de code de Vincent, mais je n'arrive pas à lui
indiquer qu'il faut
aussi vérifier les autre colonnes de la sélection.

"Vincent." a écrit dans le message de
news:0bd701c35cfe$cb6d6aa0$
Salut !
As-tu essayé ça :
MaVar = Liste.value
Range("C1").value = MaVar
...

-----Message d'origine-----
En VBA, j'ai un userform contenant une list box nommée
LISTE (original ?)

et un bouton nommé VALIDER
dans cette liste, je récupére les valeurs d'un tableau
nommé RESULTAT.


Je peux selectionner une des valeurs de ma liste
et je voudrais poser en C1 la valeur précédemment
selectionnée quand je clic

sur
un bouton de mon userform.

J'ai testé différents bout de code, mais je n'arrive pas
à récupérer cette

damnée valeur.

quelqu'un aurait il une idée ?



.





Avatar
SOCARA Strasbourg
Merci à tous,
tous vos conseils m'ont permis d'arriver à faire exactement
ce que je désirais.

Encore merci et à bientôt.
"Hervé" a écrit dans le message de
news:
Salut SOCARA,
Bonsoir de Mulhouse.
En déclarant ta variable en tête du module de ta form, la valeur sera
gardée

aussi longtemps que la form est ouverte. Si tu veux la garder plus
longtemps

encore (aussi longtemps que le classeur sera ouvert), déclare là Public
dans

un module standard.

Dim MaVar 'déclarée en tête de module

Private Sub ListBox1_Click()
'ici ton code...
'et à la fin, récupère la valeur
With ListBox1
MaVar = .List(.ListIndex)
End With
End Sub

Hervé.

"SOCARA Strasbourg" a écrit dans le message news:
bgtt7l$qeg$
En VBA, j'ai un userform contenant une list box nommée LISTE (original
?)


et un bouton nommé VALIDER
dans cette liste, je récupére les valeurs d'un tableau nommé RESULTAT.

Je peux selectionner une des valeurs de ma liste
et je voudrais poser en C1 la valeur précédemment selectionnée quand je
clic

sur
un bouton de mon userform.

J'ai testé différents bout de code, mais je n'arrive pas à récupérer
cette


damnée valeur.

quelqu'un aurait il une idée ?