[Excel 2016] – Liste déroulante avec sélection multiple

Accueil – Le CFO masqué Forums Excel [Excel 2016] – Liste déroulante avec sélection multiple

10 sujets de 1 à 10 (sur un total de 10)
  • Auteur
    Articles
  • #63217
    Mwasikitoko
    Participant

    Bonjour Tous,
    Courage pour le confinement subi par tous.
    Je souhaite vous soumettre un souci que je n’arrive pas à résoudre, étant pas très très calée en Excel
    J’ai 2 feuilles : Feuille 1 ListeChoix et Feuille 2 Registre
    Je souhaite faire une liste de choix à partir de la plage A2:A4 de la feuille 1
    En feuille 2 ColC, je souhaite pouvoir faire une sélection mutiple
    Par exemple, contenu de la ColC de la feuille 2 peut être A3 Feuille 1 et A4 Feuille 1
    Je joins le fichier à ce SOS pour plus de clarté
    Merci d’avance à tous
    Mwasikitoko

    Attachments:
    You must be logged in to view attached files.
    #63236
    Kim Leblanc
    Participant

    Bonjour,
    Faire une sélection multiple dans un menu déroulant standard n’est pas possible via le menu données/validation de données. Il faut aller dans les contrôles de formulaire (menu développeur) et utiliser une zone de liste, par contre, à ce niveau là, si on veut être en mesure de récupérer les valeurs dans une cellule, il faudra utiliser du VBA.

    Au plaisir,

    Kim

    #63256
    Mwasikitoko
    Participant

    Bonjour Kim,
    Merci pour le retour.
    Concrètement, comment fait-on ?
    Un tutoriel pour que je suive la procédure?
    Merci pour réponse
    Mwasikitoko

    #63276
    Kim Leblanc
    Participant

    Bonjour,

    J’ai trouvé ce tutoriel qui pourrait vous aider.

    Au plaisir,

    Kim

    #63278
    Kim Leblanc
    Participant

    Par contre, je ne sais pas ce que vous désirez faire avec ces données une fois entré dans le fichier Excel, mais peut-être y aurait-il une solution plus simple pour arriver à vos fins. Si vous êtes débutant avec Excel, allez jouer dans le code VBA ne sera pas simple.

    #63292
    Mwasikitoko
    Participant

    Merci Kim,
    Je vais prendre connaissance du tutoriel.
    Pour répondre au message concernant l’utilisation du fichier Excel, j’aimerais faire des requêtes pour savoir par ex combien d’éléments répondent au choix 1, combien au choix 2.
    Je devrais peut-être affecter des variables numériques aux différents choix (1 pour le choix 1, 2 pour le choix 2 et 3 pour le choix 3) et les utiliser ensuite pour les éventuels graphiques.
    Je m’imprègne du tutoriel et reviendrais sûrement vers vous.
    Et je n’oublie pas de vous remercier.
    Mwasikitoko

    #63293
    Mwasikitoko
    Participant

    Bonjour Kim,
    En suivant le tutoriel, cela m’a orientée dans mes recherches sur le net et j’ai trouvé ce tutoriel qui m’a beaucoup aidée mais je trébuche encore…
    http://boisgontierjacques.free.fr/pages_site/listes_cascade.htm#ChoixSuccessifs
    Je joins le fichier source à ce message
    Je suis parvenue à modifier le code VBA en l’adaptant à mon fichier et faire en sorte que les options choisies se présentent ensuite l’une après l’autre avec un retour chariot en utilisant chr(10) comme séparateur ;0)
    Maintenant je voudrais étendre la validation de données non pas à 1 cellule comme dans le code VBA avec
    Target.Address = “$C$2” mais à une plage de Cellules colC2 à ColC14, par exemple dans l’image jointe.
    J’espère avoir été claire
    Merci
    Mwasikitoko

    • Cette réponse a été modifiée le il y a 7 mois et 4 semaines par Mwasikitoko.
    Attachments:
    You must be logged in to view attached files.
    #63343
    Kim Leblanc
    Participant

    Bonjour,

    Il faut premièrement ajouter la validation de données aux cellules de ta colonne C. Présentement il n’y a que la cellule C2 qui comprend la validation de données.

    Ensuite dans ton code, il y a deux choix possibles, si tu veux être en mesure d’appliquer le tout à n’importe quelle cellule de la colonne C alors tu peux modifier:
    If Target.Address = “$C$2” And Target.Count = 1 Then
    Par
    If Target.Column = 3 And Target.Count = 1 Then

    Ou si tu veux seulement que ce soit applicable à une sélection de cellules comme pour C2 à C14, tu peux remplacer par cette ligne:
    If Not Application.Intersect(Target, Range(“C2:C14”)) Is Nothing And Target.Count = 1 Then

    Au plaisir,

    Kim

    #63344
    Kim Leblanc
    Participant

    Et je te suggère fortement de mettre ta liste en forme de tableau à l’aide du menu Accueil/Mettre en forme de tableau, et d’utiliser ce tableau dans ta validation de données, de cette façon, les nouveaux éléments ajoutés dans ta liste seront pris en compte dans ton menu déroulant.

    #63489
    Mwasikitoko
    Participant

    C’est exactement ce que je voulais.
    Merci beaucoup Kim…pour le partage de ton expertise.
    Au plaisir,
    Mwasikitoko

10 sujets de 1 à 10 (sur un total de 10)
  • Vous devez être connecté pour répondre à ce sujet.