Afficher les éléments sélectionnés du Listbox Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
Avatar du membre
horusbk
Membre fidèle
Membre fidèle
Messages : 257
Appréciations reçues : 2
Inscrit le : 3 février 2017
Version d'Excel : Excel 2010 à 2019

Message par horusbk » 21 janvier 2020, 13:59

Bonjour,

J'ai un formulaire me permettant de sélectionner des villes (pour les tests). J'ai déjà une zone de texte qui m'indique le nombre de villes que l'utilisateur a sélectionné. Lorsqu'on valide le formulaire les villes sélectionnées sont ajoutées à la cellule et sont séparées par des "/".

Par exemple :
Lyon / Nice / Nantes / Montpellier / Bordeaux / Lille

Est-il possible d'avoir une prévisualisation du résultat directement dans le formulaire. La Listbox de mon fichier final va contenir beaucoup d'options et j'aimerais un moyen rapide permettant à l'utilisateur de vérifier qu'il n'a rien oublié dans sa sélection.

De plus, je ne sais pas si cela est réalisable avec VBA : peut-on créer un champ de recherche, relié à la Listbox pour filtrer et afficher la ou les données souhaitées ? Par exemple je mets BR et je vois uniquement toutes les villes qui commencent par BR. Cela permettrait de faciliter la sélection dans la Listbox.

Voici mon fichier test :)
Copie de Essai_V2_Horusbk.xlsm
(41.07 Kio) Téléchargé 9 fois
Merci d'avance pour votre aide.
Horusbk
Avatar du membre
ThauThème
Passionné d'Excel
Passionné d'Excel
Messages : 4'047
Appréciations reçues : 212
Inscrit le : 19 octobre 2014
Version d'Excel : 2010 FR

Message par ThauThème » 21 janvier 2020, 15:27

Bonjour Horusbk, bonjour le forum,

Peut-être comme ça :
Private Sub CommandButton1_Click()
msg = "Vous avez sélectionné :"
For I = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(I) Then
    If temp <> "" Then temp = temp & " / " & Me.ListBox1.List(I) Else temp = Me.ListBox1.List(I)
    n = n + 1
    End If
Next I
If MsgBox(msg & vbCr & temp & vbCr & "Vous validez ?", vbYesNo) = vbNo Then Exit Sub
Sheets(1).[D3] = temp
Sheets(1).[E3] = n
Unload Me
End Sub
À plus,

ThauTheme


Je suis Charlie
VBA m'éclate, les formules m'ennuient ! Je n'y peux rien c'est comme ça...
Avatar du membre
thev
Membre impliqué
Membre impliqué
Messages : 2'693
Appréciations reçues : 227
Inscrit le : 13 juin 2016
Version d'Excel : 2019 FR 64 bits

Message par thev » 21 janvier 2020, 15:49

Bonjour

ci-jointe une proposition
Essai_V4_Horusbk.xlsm
(37.01 Kio) Téléchargé 2 fois
Modifié en dernier par thev le 21 janvier 2020, 16:11, modifié 3 fois.
B
Boisgontierjacques
Membre fidèle
Membre fidèle
Messages : 470
Appréciations reçues : 109
Inscrit le : 5 octobre 2018
Version d'Excel : 2016

Message par Boisgontierjacques » 21 janvier 2020, 15:53

Bonjour,

TextBox2 a la propriété Multiline à True
Private Sub ListBox1_Change()
  For i = 0 To Me.ListBox1.ListCount - 1
     If Me.ListBox1.Selected(i) Then
        temp = temp & ListBox1.List(i) & Chr(10)
        n = n + 1
     End If
  Next i
  Me.TextBox1 = n
  Me.TextBox2 = temp
End Sub
Boisgontier
Copie de Copie de Essai_V2_Horusbk-1.xlsm
(36.47 Kio) Téléchargé 6 fois
Avatar du membre
horusbk
Membre fidèle
Membre fidèle
Messages : 257
Appréciations reçues : 2
Inscrit le : 3 février 2017
Version d'Excel : Excel 2010 à 2019

Message par horusbk » 21 janvier 2020, 17:45

Bonsoir Boisgontierjacques, thev & ThauThème :wink:

Un grand merci pour vos propositions respectives ! J'ai l'embarras du choix ;;)

Concernant ta proposition thev,
J'aime bien la zone de texte permettant de filtrer les éléments de la Listbox. Toutefois, il y a deux points qui ont du mal à fonctionner :
-> La recherche qui respecte la majuscule. Est-il possible de filtrer les résultats qu'il y ait ou non une majuscule en débit de mot ?
-> Lorsqu'on filtre la Listbox, les résultats précédemment sélectionnés sont effacés. C'est possible de remédier à cela ?

Merci encore :D
Horusbk
B
Boisgontierjacques
Membre fidèle
Membre fidèle
Messages : 470
Appréciations reçues : 109
Inscrit le : 5 octobre 2018
Version d'Excel : 2016

Message par Boisgontierjacques » 21 janvier 2020, 17:56

cf PJ

Boisgontier
Copie de Copie de Essai_V2_Horusbk-1.xlsm
(36.96 Kio) Téléchargé 8 fois
1 membre du forum aime ce message.
Avatar du membre
thev
Membre impliqué
Membre impliqué
Messages : 2'693
Appréciations reçues : 227
Inscrit le : 13 juin 2016
Version d'Excel : 2019 FR 64 bits

Message par thev » 21 janvier 2020, 19:13

Bonsoir,
horusbk a écrit :
21 janvier 2020, 17:45
La recherche qui respecte la majuscule. Est-il possible de filtrer les résultats qu'il y ait ou non une majuscule en débit de mot ?
modification effectuée.
horusbk a écrit :
21 janvier 2020, 17:45
Lorsqu'on filtre la Listbox, les résultats précédemment sélectionnés sont effacés.
filtrer la Listbox, que voulez-vous dire ? Si on clique sur une ville, on la sélectionne; si on clique sur une ville sélectionnée, on la désélectionne.
Essai_V5_Horusbk.xlsm
(36.98 Kio) Téléchargé 3 fois
Avatar du membre
horusbk
Membre fidèle
Membre fidèle
Messages : 257
Appréciations reçues : 2
Inscrit le : 3 février 2017
Version d'Excel : Excel 2010 à 2019

Message par horusbk » 21 janvier 2020, 19:37

modification effectuée.
Sur le fichier en pièce-jointe c'est toujours impossible de filtrer les résultats avec ou sans majuscules. Par exemple si je mets
pa
pour Paris; la Listbox "Villes" est totalement vide tandis que lorsque je mets Pa je vois : Paris, Pau et Pantin.
200121074226256255.png
200121074226256255.png (5.58 Kio) Vu 41 fois
filtrer la Listbox, que voulez-vous dire ? Si on clique sur une ville, on la sélectionne; si on clique sur une ville sélectionnée, on la désélectionne.
Je parlais du filtrage avec "début villes".
En fait dans la Listbox je dois sélectionner plusieurs villes. Toutefois, lorsque je recherche une ville supplémentaire à sélectionner (via la zone de texte "début villes") toutes mes sélections précédentes sont supprimées.
Idem, si je commence par chercher une ville via le filtre, la sélectionner puis vider le filtre : la ville précédemment sélectionnée ne l'est plus.

Je sais pas si c'est clair :lole:
B
Boisgontierjacques
Membre fidèle
Membre fidèle
Messages : 470
Appréciations reçues : 109
Inscrit le : 5 octobre 2018
Version d'Excel : 2016

Message par Boisgontierjacques » 22 janvier 2020, 08:03

Bonjour,

Une autre approche:

On sauvegarde pour pouvoir modifier.

Boisgontier
SelectMultipleModif.xlsm
(66.71 Kio) Téléchargé 8 fois
1 membre du forum aime ce message.
Avatar du membre
thev
Membre impliqué
Membre impliqué
Messages : 2'693
Appréciations reçues : 227
Inscrit le : 13 juin 2016
Version d'Excel : 2019 FR 64 bits

Message par thev » 22 janvier 2020, 11:34

Bonjour,

Je pense avoir compris.
ci-joint premier point
Pour le deuxième point, je vous ferais une réponse d'ici ce soir.
Essai_V6_Horusbk.xlsm
(36.96 Kio) Téléchargé 9 fois
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message