Liste selection multiple

  • Initiateur de la discussion Initiateur de la discussion calagan
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

calagan

XLDnaute Nouveau
Bonjour,
Je viens de m'inscrire sur ce forum pour essayer de trouver une solution à mon pb que je n'arrive pas à résoudre tout seul.
J'ai lu pas mal de posts sur ce sujet mais rien ne correspond à ce que je veux faire.
Je cherche simplement à créer une liste déroulante, associée à des cellules, mais permettant de faire des selections multiples et non pas une seule selection comme le propose "Données / Validation". Cette selection se ferait au moyen de "cases à cocher" et le résultat serait affiché dans la cellule en séparant les valeurs selectionnées par des ",".
Je voudrais aussi pouvoir revenir sur la cellule pour "déselectionner" une valeur.
Je joins une petit fichier qui vous permettra de mieux comprendre.
HELP SVP, aidez moi à répondre à mon besoin.🙁
 

Pièces jointes

Re : Liste selection multiple

Bonjour,
Je viens de m'inscrire sur ce forum pour essayer de trouver une solution à mon pb que je n'arrive pas à résoudre tout seul.
J'ai lu pas mal de posts sur ce sujet mais rien ne correspond à ce que je veux faire.
Je cherche simplement à créer une liste déroulante, associée à des cellules, mais permettant de faire des selections multiples et non pas une seule selection comme le propose "Données / Validation". Cette selection se ferait au moyen de "cases à cocher" et le résultat serait affiché dans la cellule en séparant les valeurs selectionnées par des ",".
Je voudrais aussi pouvoir revenir sur la cellule pour "déselectionner" une valeur.
Je joins une petit fichier qui vous permettra de mieux comprendre.
HELP SVP, aidez moi à répondre à mon besoin.🙁

Personne ne peut me venir en aide ? 🙁
 
Re : Liste selection multiple

Voir PJ

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([B4:B8], Target) Is Nothing And Target.Count = 1 Then
If Target <> "" Then
Application.EnableEvents = False
p = InStr(Target.Offset(0, -1), Target.Value)
If p > 0 Then
Target.Offset(0, -1) = Left(Target.Offset(0, -1), p - 1) & _
Mid(Target.Offset(0, -1), p + Len(Target.Value) + 1)
Else
If Target.Offset(0, -1) <> "" Then
Target.Offset(0, -1) = Target.Offset(0, -1) & "," & Target.Value
Else
Target.Offset(0, -1) = Target.Value
End If
End If
Target.Value = Target.Offset(0, -1)
Application.EnableEvents = True
End If
End If
End Sub

http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DVChoixMult.xls

Avec formulaire


Choix multiples

Code:
Private Sub UserForm_Initialize()
  ListBox1.MultiSelect = fmMultiSelectMulti
  ListBox1.List = [phase].Value
  a = Split(ActiveCell, ",")
  If UBound(a) > 0 Then
    For i = 0 To Me.ListBox1.ListCount - 1
      If Not IsError(Application.Match(Me.ListBox1.List(i), a, 0)) Then Me.ListBox1.Selected(i) = True
    Next i
  End If
End Sub

Private Sub CommandButton1_Click()
  For i = 0 To Me.ListBox1.ListCount - 1
   If Me.ListBox1.Selected(i) = True Then temp = temp & Me.ListBox1.List(i) & ","
  Next i
  ActiveCell = Left(temp, Len(temp) - 1)
 Unload Me
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Liste selection multiple

Voir PJ

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([B4:B8], Target) Is Nothing And Target.Count = 1 Then
If Target <> "" Then
Application.EnableEvents = False
p = InStr(Target.Offset(0, -1), Target.Value)
If p > 0 Then
Target.Offset(0, -1) = Left(Target.Offset(0, -1), p - 1) & _
Mid(Target.Offset(0, -1), p + Len(Target.Value) + 1)
Else
If Target.Offset(0, -1) <> "" Then
Target.Offset(0, -1) = Target.Offset(0, -1) & "," & Target.Value
Else
Target.Offset(0, -1) = Target.Value
End If
End If
Target.Value = Target.Offset(0, -1)
Application.EnableEvents = True
End If
End If
End Sub

JB

Merci BOISGONTIER
Ce que tu m'as envoyé répond assez bien à ce que je veux faire. Dommage simplement que l'on ne vois pas ce qui est déjà selectionné lorsqu'on clique sur la liste. Sinon, il y aurait aussi des petites améliorations à apporter pour que les virgules ne se cumulent pas lorsqu'on "selectionne" puis "déselectionne" une même valeur.
 
Re : Liste selection multiple

Bonsoir Sergio,

Comment faire pour adapter votre fichier à une autre fichier. J'ai réussi à ajouter des cases à cocher dans l'userfom1. j'ai ajouté un module et fais un copier coller du votre. J'ai fait un copié coller de votre VBA (au niveau de la feuille) dans mon VBA au niveau de ma feuille) et rien ne se passe. HELP PLEASE, je suis perdue
 
Re : Liste selection multiple

Merci Sergio, mais j'ai réussi à bidouiller (eh oui quand on n'y connait rien on bidouille)
Ma question etait est ce que l'on peut en plus rajouter un texte libre dans la selection multiple. j'ai rajouté une selection Autres puis mis un champs de texte mais cela n'apparait pas.. et le je ne sais pas comment bidouiller. HELP
Merci d'avance
Cordialement
 
Re : Liste selection multiple

Bonjour et Merci beaucoup. Hier j'ai rencontré un autre problème. j'ai voulu avoir plusieurs Userform sur une meme feuille, j'ai fait des copier coller au niveau du VBA (en modifiant userform1 par UF2 (pas si bete que cela tout de meme). et malheureusement cela ne fonctionne pas. J'ai fait plusieurs essais, de differentes facons mais rien à faire.. Si tu pouvais encore m'aider.
J'aurai plusieurs UF à avoir sur la meme feuille.
Merci d'avance

Cordialement
 
Re : Liste selection multiple

Bonjour SergiO et tout le monde,

L'exemple de SergiO correspond exactement à ce que je cherche, à quelques détails près :

Est-il possible qu'à la place de phase 1 phase 2...phase 5 dans la boite de dialogue, apparaisse une liste de noms (assez conséquente : une quarantaine de noms) sélectionnée dans une autre liste ?

Pour ne rien vous cacher : j'ai une liste de personnes qui participent chacun à quelques groupes de travail parmi une quarantaine, et je voudrais avoir pour chaque personne, une case indiquant les groupes de travail où ils participent (ce qui me permettra aussi de pouvoir trier par groupe de travail).

Si cela est possible, ça me changerait la vie au boulot...

Sinon merci quand même pour toutes vos réponses !

A+,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
143
  • Question Question
XL 2019 User Form
Réponses
9
Affichages
314
Réponses
6
Affichages
420
Retour