Récupérer les positions d'une sélection ListBox

monsieursapin

XLDnaute Nouveau
Bonjour à tous,
je suis tout nouveau sur ce forum et malgré la recherche soutenue que j'ai fait dans la journée, je n'ai pas trouvé de solution à mon problème.
Je vous l'explicite :
Dans le cadre de la création d'un formulaire avec une Userform ,dans mon fichier Excel, j'ai eu l'idée de placer une ListBox afin que les personnes accédant au fichier puissent sélectionné ce qu'il leur correspond. Cette ListBox est réglée afin d'accepter la multi-sélection et j'ai pu récupérer le résultat afin de l'insérer dans un cellule. Maintenant, et c'est là que ça se complique, j'ai crée une 2ne Userform pour modifier un profil et je n'arrive pas à faire figurer l'ancienne sélection de mon profil...
Tout est dans ma cellule mais je n'arrive pas à rappeler la sélection :/
Un peu d'aide ? :)

EDIT : Je vous joins le code pour que vous compreniez mieux !
Code:
Dim Qualifications As String
    Dim Qualifications_nothing As String
Qualifications_nothing = ""
    For s = 0 To ListBox6.ListCount - 1
    If ListBox6.Selected(s) = True Then
        Qualifications = Qualifications & ListBox6.List(s) & ", "
    Else
        ListBox6.Selected(s) = False
    End If
    Next s
ListBox6 est la la box qui m'intéresse pour la modification, elle est crée dans un Userform.
Merci d'avance !
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : Récupérer les positions d'une sélection ListBox

Bonsoir monsieursapin
Bienvenue sur le forum

je pense que nous risquons de passer , autant si ce n'est plus de temps que toi à tenter de deviner , à partir de Quoi faire ce que tu veux ???????
Met donc un fichier , avec quelques explications de ce que tu as et de ce que tu veux (sans données confidentielles).
Dans l'attente
Bonne fin de Soirée
Jean Marie
 

monsieursapin

XLDnaute Nouveau
Re : Récupérer les positions d'une sélection ListBox

Bonsoir monsieursapin
Bienvenue sur le forum

je pense que nous risquons de passer , autant si ce n'est plus de temps que toi à tenter de deviner , à partir de Quoi faire ce que tu veux ???????
Met donc un fichier , avec quelques explications de ce que tu as et de ce que tu veux (sans données confidentielles).
Dans l'attente
Bonne fin de Soirée
Jean Marie

Bonsoir !
Je m'en occupe, j'édites mon message, merci !
 

ChTi160

XLDnaute Barbatruc
Re : Récupérer les positions d'une sélection ListBox

Bonjour monsieursapin
Bonjour le fil
Bonjour le Forum

Arffffffffffffffff le post a été édité , mais ou est le fichier exemple ????

j'ai bien vu le code ,mais il me semble un peu Bizarre Lol
If ListBox6.Selected(s) = True Then
Qualifications = Qualifications & ListBox6.List(s) & ", "
Else
ListBox6.Selected(s) = False
End If

si je traduis ce passage cela donne :
Code:
If ListBox6.Selected(s) = True  'si la ligne est sélectionnée 
Then 'alors 
Qualifications = Qualifications & ListBox6.List(s) & ", " 'je colle la valeur de la Ligne dans ma Variable 
Else 'si la ligne n'est pas sélectionnée 
 ListBox6.Selected(s) = False ' Je la Dé sélectionne
C'est la que ça ne va pas (dans ce bout de code Bien sur)si pas sélectionné , je dé sélectionne
Dans l'attente
Bonne fin de journée
Amicalement
Jean marie
 

monsieursapin

XLDnaute Nouveau
Re : Récupérer les positions d'une sélection ListBox

Bonjour,
Tout d'abord, merci pour votre aide.
Pour ce qui est du fichier je ne peux pas le poster, question de confidentialité.
En tout cas, afin que ma demande soit plus claire, le bout de code que j'ai posté est l'action qui se passe dans mon premier Userform. Dans celui-ci, il n'y a aucun problème notable j'ai pu récupérer les sélections values assez facilement.
Par contre, ce qui m'embête vraiment, c'est qu'après avoir Hide mon userform, j'en ouvre un deuxième et j'aimerais récupérer la sélection de la ListBox avec le texte que j'ai dans ma cellule. (Bien entendu, comme le 2ne userform correspond à une action "modifier", il n'est pas nécessairement ouvert après l'action du 1er).
Merci d'avance !
 

ChTi160

XLDnaute Barbatruc
Re : Récupérer les positions d'une sélection ListBox

Re
Pour ce qui est du fichier tu peux créer un fichier pour l'exemple , sans donnée confidentielle
juste pour permettre de tester , sinon je ne peux rien pour toi lol
Je ne peux avec si ,peu faire des Miracles Lol
tu trouveras peut être quelqu'un pour t'aider.
Désolé !!!!!!!!!
Bonne Fin de journée
Amicalement
 

monsieursapin

XLDnaute Nouveau
Re : Récupérer les positions d'une sélection ListBox

J'avais mal compris la demande, désolé.
Merci d'avance
 

Pièces jointes

  • Fichier Exemple.xlsm
    24.7 KB · Affichages: 84
  • Fichier Exemple.xlsm
    24.7 KB · Affichages: 87
  • Fichier Exemple.xlsm
    24.7 KB · Affichages: 93

monsieursapin

XLDnaute Nouveau
Re : Récupérer les positions d'une sélection ListBox

salut

un essai avec ce que j'ai compris.

Merci pour votre aide !
Le problème, c'est que même si dans votre fichier je peux modifier la cellule cible, mon objectif serait plus "user-friendly". En effet, j'aimerais que lorsque l'on clique sur le bouton "modifier", on puisse avoir la sélection précédente et que dés que l'on change entre A, B,...(toujours en sélectionnant) cela se répercute.
 

Chalafraiz

XLDnaute Nouveau
Re : Récupérer les positions d'une sélection ListBox

Bonjour,

Ayant trouvé une solution pour ce problème que j'ai aussi rencontré, et pour lequel je n'ai pas trouvé de solution sur internet (désolée si j'ai mal recherché !), je poste mon code afin que cela puisse servir.
Private Sub UserForm_Activate()
Dim j as Integer
'Définition des valeurs présentes dans la listbox
Listbox1.List() = Sheets("Reference").Range("T3:T23").Value

'Sélection de la valeur choisie avant l'ouverture de l'UserForm
'Les index des Listbox commencent par zéro
Listbox1.ListIndex = 0
j = 0

'On boucle jusqu'à ce que l'on trouve une valeur dans la Listbox qui correspond à la valeur choisie avant l'ouverture
Do Until Listbox1.List(Listbox1.ListIndex) = Sheets("Donnees").Range("Valeur_Choisie")
Listbox1.ListIndex = j​

j = j + 1​
Loop

If j = 0 Then Listbox1.ListIndex = j
If j <> 0 Then Listbox1.ListIndex = j - 1 'On prend le j-1 à cause de la boucle Do Until qui va à une itération "trop loin"
[...]
End Sub
Pour info (et corrigez moi si je me trompe) la propriété ListIndex permet de déterminer l'élément sélectionné dans une zone de liste ou une zone de liste déroulante. Elle correspond à une variable Integer qui varie de 0 (première valeur de la ListBox) à X (dernière valeur de la ListBox).

De même, je n'ai pas inséré de gestion d'erreur (Si la valeur cherchée n'est pas dans la ListBox) car dans ma macro j'aurais obligatoirement une valeur, mais il peut être intéressant d'en ajouter une au cas ou.

Enfin, tout commentaire permettant d'améliorer cette macro est le bienvenu ! En effet, comme dit plus tôt, j'ai pondu cette macro toute seule, et il se peut que certaines lignes ne soient pas "correctes"...
 
Dernière édition:

Discussions similaires

Réponses
21
Affichages
1 K
Réponses
18
Affichages
505
Réponses
4
Affichages
268

Statistiques des forums

Discussions
311 711
Messages
2 081 799
Membres
101 818
dernier inscrit
tiftouf5757