[ListBox] Sélection Multiple et conservation de données

Bonjour tout le monde,

Je viens vers vous suite à un problème que je rencontre sur mon fichier, en effet dans celui-ci dans l'onglet "Finitions" j'ai incrusté une ListBox qui apparaît au clic sur une cellule de la colonne C (à partir de C3 jusque C100).

J'aimerais que la sélection multiple que je fais ne se supprime pas à chaque fois que je reclic sur la cellule, mais que je puisse faire une modification de mes choix, je m'explique pour le moment je peux faire une sélection ex : Plan droit / Plan de coin / Table Sifflet sur la même cellule (en C3 par exemple) mais si je retourne sur la cellule après ma sélection j'efface tout ce qui n'est pas le but rechercher, j'aimerais que la ListBox se rouvre avec mes choix et que je puisses les modifier (retirer ou ajouter).

De plus et c'est une demande un peu à part, pour le moment sur ma target j'ai mit (C3:C100) mais demain j'aimerais que ce soit plus "dynamique" car si aujourd'hui on va jusque C101 mon code ne fonctionnera plus ...

Je vous remercie d'avance et j'espère avoir réussit à être clair dans mes propos :)

Merci d'avance à vous !

Bonne soirée !

Bonjour,

Pour le souci de la plage dynamique il faut remplacer par :

If Target.Column = 3 And Target.Row > 2 Then

Pour le reste c'est un peu plus compliqué, le souci principal c'est la logique du code, si on passe d'une ligne à l'autre de la colonne C, la cellule précédente n'est pas remplie avec la sélection de la liste.

Je propose la solution en pièce jointe.

Incroyable comment cela fonctionne bien je vais regarder en détail ton code pour essayer de comprendre comment tu as fait pour garder en mémoire la sélection.
Et merci pour le souci de plage dynamique !

Si je marque en résolu je ne pourrais pas revenir vers toi pour des explications si je ne comprends pas comment tu as fait pour mémoriser les choix ?

Edit : J'ai une petite question si demain je voulais que la liste apparaisse non pas dans la colonne où je clique mais sur la colonne à côté, je dois modifier cette partie non ? :

             .Left = fillRng.Left
            .Top = fillRng.Top
            .Width = fillRng.Width

Merci à toi,

Bonne journée !

Même si le sujet est passé en résolu, on recevra toujours les notifications sur celui-ci si on y a participé et qu'un nouveau message apparait.

Concernant ta question, si un jour tu souhaites modifier la position, il faudra en effet modifier cette partie, ça donnerait:

             .Left = fillRng.OffSet(0,1).Left

Merci beaucoup pour ton aide et tes réponses :)

Il me vient une petite question, penses-tu qu'il soit possible de permettre d'étirer les données ? Imaginons que l'utilisateur remplisse la colonne D2 et que les trois en dessous soit les mêmes, serait-il possible de permettre cela ou pas du tout ?

Et deuxième petite question si je verrouille le fichier la formule sera toujours ok ?

Merci d'avance et bonne journée !

Bonjour,

ça me semble compliqué d'étirer la solution, je pense qu'il faudra cocher à nouveau à chaque case, pour le verrouillage, je ne suis pas expérimenté pour la protection des fichiers, je ne travaille habituellement que sur des fichiers sans, j'imagine qu'il faudra tester pour savoir.

Bonne journée.

Rechercher des sujets similaires à "listbox selection multiple conservation donnees"