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

Probleme Selection dans Listbox

7 réponses
Avatar
Alex
Bonjour =E0 tous,

Je renconre un probl=E8me de selection dans une listebox via un
userform, et m'en explique :

Dans mon Userform1, j'ai une listbox qui fait apparraitre les donn=E9es
correspondant =E0 la s=E9lection du Nom dans une combobox, jusque l=E0 pas
de probl=E8me. (J'ai utilis=E9 extraction des donn=E9es en fonction du
crit=E8re)

Mon probl=E8me commence, lorsque je selectionne une ligne dans la
listbox par doubleclic.
Je voudrais lors de la selection de la ligne via la listbox par
doubleclilc, qu'il se positionne sur ma ligne "origininaire" (Col.
A:AT en ligne ?) et non pas sur la base d'extraction (Col. EQ:GJ en
ligne ?)

J'ai tent=E9 plusieurs solutions mais rien =E0 faire, je n'y arrive pas.

J'ai mis le fichier sur Cjoint : http://cjoint.com/?0cBpOXi8s6q
(Voir Userform1)

Merci par avance de votre aide, et je reste =E0 votre disposition si
vous souhaitez plus de renseignement pour trouver une solution =E0 mon
probl=E8me.

Bien cordialement
Alex

7 réponses

Avatar
isabelle
bonjour Alex,

With Me.ListBox1
For A = 0 To .ListCount - 1
If .Selected(A) = True Then
Ligne = Application.Match(.List(A, 0),
Sheets("FICHES").Range("A:A"), 0)
Sheets("FICHES").Range("A" & Ligne).Select
End If
Next
End With

isabelle

Le 2011-02-27 10:00, Alex a écrit :
Bonjour à tous,

Je renconre un problème de selection dans une listebox via un
userform, et m'en explique :

Dans mon Userform1, j'ai une listbox qui fait apparraitre les données
correspondant à la sélection du Nom dans une combobox, jusque là pas
de problème. (J'ai utilisé extraction des données en fonction du
critère)

Mon problème commence, lorsque je selectionne une ligne dans la
listbox par doubleclic.
Je voudrais lors de la selection de la ligne via la listbox par
doubleclilc, qu'il se positionne sur ma ligne "origininaire" (Col.
A:AT en ligne ?) et non pas sur la base d'extraction (Col. EQ:GJ en
ligne ?)

J'ai tenté plusieurs solutions mais rien à faire, je n'y arrive pas.

J'ai mis le fichier sur Cjoint : http://cjoint.com/?0cBpOXi8s6q
(Voir Userform1)

Merci par avance de votre aide, et je reste à votre disposition si
vous souhaitez plus de renseignement pour trouver une solution à mon
problème.

Bien cordialement
Alex

Avatar
Alex
Bonjour Isabelle,

Merci pour ta réponse que je viens de tester cela ne fonctionne pas
tout a fait, car il me selectionne la première ligne portant le nom de
la personne, mais ne s'occupe pas de du numéro de semaine du coup a
chaque fois que je sélectionne une ligne, il me selectionne le bon
prénom, mais pas le bon numéro de semaine, donc pas la bonne ligne.
Vois-tu à quoi cela peut être du ?
Merci par avance de ta réponse.
Bien cordialement.
Alex
Avatar
Alex
Bonjour Isabelle,

A priori mon précédent message de réponse n'a pas été pris en com pte,
donc j'en réécri un nouveau, peut-être que cela fera doublon.

Merci pour ta réponse que j'ai testé.
Cela fonctionne pas tout a fait (50%) ;-), en effet, lorsque je
sélectionne une ligne, il se positionne bien en colonne A mais
systematiquement sur la premiere ligne portant le même nom mais ne
prend pas en considération le numéro de semaine. Par conséquent, il m e
sélectionne toujours pour exemple Alex semaine 0 même si j'ai
sélectionné Alex semaine 2.
Vois tu a quoi cela est du ?
Merci par avance de ta réponse.
Bien coridialement.
Alex
Avatar
isabelle
bonjour Alex,

j'ai nommé les plages
$A$1:$A$65535 --> NOM
et
$B$1:$B$65535 --> SEM

With Me.ListBox1
For A = 0 To .ListCount - 1
If .Selected(A) = True Then
Ligne = Evaluate("=MATCH(""" & .List(A, 0) & .List(A, 1) &
""",NOM&SEM,0)")
Sheets("FICHES").Range("A" & Ligne).Select
End If
Next
End With

isabelle


Le 2011-02-28 14:37, Alex a écrit :
Bonjour Isabelle,

A priori mon précédent message de réponse n'a pas été pris en compte,
donc j'en réécri un nouveau, peut-être que cela fera doublon.

Merci pour ta réponse que j'ai testé.
Cela fonctionne pas tout a fait (50%) ;-), en effet, lorsque je
sélectionne une ligne, il se positionne bien en colonne A mais
systematiquement sur la premiere ligne portant le même nom mais ne
prend pas en considération le numéro de semaine. Par conséquent, il me
sélectionne toujours pour exemple Alex semaine 0 même si j'ai
sélectionné Alex semaine 2.
Vois tu a quoi cela est du ?
Merci par avance de ta réponse.
Bien coridialement.
Alex

Avatar
Alex
Re Bonjour Isablle,

Merci pour ta réponse, cette fois-ci tout marche super bien. Un grand
merci.

Je tente de bien déchiffrer tes lignes de commandes, afin de pourvoir
si besoin l'adapter à d'autres fichier, c'est pourquoi, puis je te
demander :

* Ton A n'a pas de variable de déclarée, mais si je devais le
faire, dois-je la déclarer comme integer ? (Dim A as interger et A =
Activecell.row)

* A est la ligne de la listbox ?

* .list ? je ne l'ai pas nommé sur ma feuille de zone list.
S'agit il d'une fonction ou d'une prorpiété VBA ?

* Si je nomme une ou des plage(s) supplémentaire(s) sur ma
feuille, je n'ai plus qu'à ajouter &.list(A, N° Colonne) &
NOM&SEM&Nouveau nom de plage ?

Merci d'avance pour ta réponse.
Encore un Grand Merci.
Bien cordialement.
Alex
Avatar
isabelle
bonjour Alex,

oui c'est une variable Integer, Dim A as interger

List (méthode) :
cette méthode renvoie les entrées de texte dans la zone de liste sous
forme d'un tableau ou bien renvoie un seul élément de texte.
elle peut aussi définir l'ensemble des données ou définir un seul élément

oui A est utilisé pour boucler sur chacune des lignes de la listbox

* Si je nomme une ou des plage(s) supplémentaire(s) sur ma
feuille, je n'ai plus qu'à ajouter&.list(A, N° Colonne)&
NOM&SEM&Nouveau nom de plage ?



oui en autant que le no.colonne de la ListBox représente les données de la 3eme colonne nommée
dans ton fichier se serait la colonne "F" (DORIS - GESTION DÉLÉGUÉE / COMPTA)

isabelle


Le 2011-03-01 04:36, Alex a écrit :
Re Bonjour Isablle,

Merci pour ta réponse, cette fois-ci tout marche super bien. Un grand
merci.

Je tente de bien déchiffrer tes lignes de commandes, afin de pourvoir
si besoin l'adapter à d'autres fichier, c'est pourquoi, puis je te
demander :

* Ton A n'a pas de variable de déclarée, mais si je devais le
faire, dois-je la déclarer comme integer ? (Dim A as interger et A > Activecell.row)

* A est la ligne de la listbox ?

* .list ? je ne l'ai pas nommé sur ma feuille de zone list.
S'agit il d'une fonction ou d'une prorpiété VBA ?

* Si je nomme une ou des plage(s) supplémentaire(s) sur ma
feuille, je n'ai plus qu'à ajouter&.list(A, N° Colonne)&
NOM&SEM&Nouveau nom de plage ?

Merci d'avance pour ta réponse.
Encore un Grand Merci.
Bien cordialement.
Alex

Avatar
Alex
Bonsoir,

Merci Isabelle pour ces précisions.
Bonne soirée
Alex