Excel 2016 : réaliser un menu déroulant avec choix multiple
Résolu/Fermé
A voir également:
- Excel 2016 : réaliser un menu déroulant avec choix multiple
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
17 réponses
via55
Messages postés
14510
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2025
2 740
28 mars 2022 à 15:24
28 mars 2022 à 15:24
Bonjour Anne
Oui sans un exemple de ton fichier et des choix possibles difficile de t'aider !
Fichier à poster sur cjoint.com https://www.cjoint.com/
, faire créer un lien, le copier et revenir le coller ici
Explique aussi ce que tu veux dira par "en bloquant lorsque des choix sont différents des propositions , dans une colonne "
avec un ou des exemples précis
Dans l’attente
Cdlmnt
Via
Oui sans un exemple de ton fichier et des choix possibles difficile de t'aider !
Fichier à poster sur cjoint.com https://www.cjoint.com/
, faire créer un lien, le copier et revenir le coller ici
Explique aussi ce que tu veux dira par "en bloquant lorsque des choix sont différents des propositions , dans une colonne "
avec un ou des exemples précis
Dans l’attente
Cdlmnt
Via
Bonjour,
Cjoint.com refuse de me proposer un joint. Il y aurait il un bug aujourd'hui ?
Pour bloquant, je veux dire que la personne ne pourra remplir rien d'autres que ce qui lui est proposé.
Bien cordialement,
Anne
Cjoint.com refuse de me proposer un joint. Il y aurait il un bug aujourd'hui ?
Pour bloquant, je veux dire que la personne ne pourra remplir rien d'autres que ce qui lui est proposé.
Bien cordialement,
Anne
via55
Messages postés
14510
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2025
2 740
Modifié le 28 mars 2022 à 16:27
Modifié le 28 mars 2022 à 16:27
Via55,
C'était bien bloqué chez moi...
Après multiples essais, le voici : https://www.cjoint.com/c/LCCoVM2co3Q
C'était bien bloqué chez moi...
Après multiples essais, le voici : https://www.cjoint.com/c/LCCoVM2co3Q
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
DjiDji59430
Messages postés
4173
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
15 janvier 2025
683
28 mars 2022 à 17:18
28 mars 2022 à 17:18
Raté !!!
Ton lien ne fonctionne pas
Crdlmt
Ton lien ne fonctionne pas
Crdlmt
via55
Messages postés
14510
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2025
2 740
28 mars 2022 à 17:49
28 mars 2022 à 17:49
Si le lien fonctionne
via55
Messages postés
14510
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2025
2 740
28 mars 2022 à 18:09
28 mars 2022 à 18:09
Re,
Pour ta problématique 1 c'est déjà pris en compte
Pour la problématique 2 je ne vois pas d'autre moyen que de passer par une macro
https://www.cjoint.com/c/LCCqhC7SvnG
Cdlmnt
Via
Pour ta problématique 1 c'est déjà pris en compte
Pour la problématique 2 je ne vois pas d'autre moyen que de passer par une macro
https://www.cjoint.com/c/LCCqhC7SvnG
Cdlmnt
Via
Bonjour Via55,
Merci pour ta réponse.
J'ai du mal à comprendre ta réponse dans le tableau.
Pour la colonne C, la personne peut saisir plusieurs actions. Comment faire autre que par un menu déroulant simple, comme présenté dans l'exemple ?
Pour les colonnes D, E, F, j'ai du mal avec le commentaire. je pense faire simple surtout que nous avons 600 lignes à répondre.
Bonne journée,
Bien cordialement,
Anne
https://www.cjoint.com/c/LCDh6mBhubQ
Merci pour ta réponse.
J'ai du mal à comprendre ta réponse dans le tableau.
Pour la colonne C, la personne peut saisir plusieurs actions. Comment faire autre que par un menu déroulant simple, comme présenté dans l'exemple ?
Pour les colonnes D, E, F, j'ai du mal avec le commentaire. je pense faire simple surtout que nous avons 600 lignes à répondre.
Bonne journée,
Bien cordialement,
Anne
https://www.cjoint.com/c/LCDh6mBhubQ
via55
Messages postés
14510
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2025
2 740
Modifié le 29 mars 2022 à 12:03
Modifié le 29 mars 2022 à 12:03
Bonjour Anne
Pas possibilité de choix multiples dans une liste déroulante par formule
Il faut mieux passer par des colonnes avec les différentes actions et cocher celles choisies
https://www.cjoint.com/c/LCDjSJdYsyG
Pour interdire 2 fois la même réponse dans les colonnes choix 1 choix 2 choix 3 pas moyen de faire autrement que passer par la macro :
Pour mettre la macro dans ton fichier réel il suffit de la copier, dans ton fichier réel d'ouvrir l'éditeur VBA avec le raccourci ALT+F11, de choisir dans l'arborescence à gauche le nom de la feuille dans laquelle doit s'appliquer la macro, de double-cliquer dessus et dans la page blanche de droite coller la macro, modifier la plage de cellules où elle doit s’appliquer si nécessaire (pas même colonnes que dans exemple) et fermer l'éditeur VBA
Si tu ne veux pas de macro alors il faut procéder comme pour les actions et mettre 8 colonnes de choix, on entrera dans ces colonnes le choix de priorité 1, 2 ou 3 . possible alors par validation de données d'interdire 2 fois le même choix
https://www.cjoint.com/c/LCDkcYCJFfG
Cdlmnt
Via
Pas possibilité de choix multiples dans une liste déroulante par formule
Il faut mieux passer par des colonnes avec les différentes actions et cocher celles choisies
https://www.cjoint.com/c/LCDjSJdYsyG
Pour interdire 2 fois la même réponse dans les colonnes choix 1 choix 2 choix 3 pas moyen de faire autrement que passer par la macro :
Private Sub Worksheet_Change(ByVal Target As Range) ' si entrée dans la plage I2:K1000 (NB :modifier la plage si nécessaire) If Not Intersect(Target, Range("I2:K1000")) Is Nothing Then 'NB.SI sur la ligne entre I et K pour compter le nombre d'items équivalent à celui choisi dans liste déroulante a = WorksheetFunction.CountIf(Range("D" & Target.Row & ":F" & Target.Row), Target.Value) ' si item choisi existe déjà dans la ligne If a > 1 Then 'on annule en remplaçant le choix par du vide Range(Target.Address) = "" End If End If End Sub
Pour mettre la macro dans ton fichier réel il suffit de la copier, dans ton fichier réel d'ouvrir l'éditeur VBA avec le raccourci ALT+F11, de choisir dans l'arborescence à gauche le nom de la feuille dans laquelle doit s'appliquer la macro, de double-cliquer dessus et dans la page blanche de droite coller la macro, modifier la plage de cellules où elle doit s’appliquer si nécessaire (pas même colonnes que dans exemple) et fermer l'éditeur VBA
Si tu ne veux pas de macro alors il faut procéder comme pour les actions et mettre 8 colonnes de choix, on entrera dans ces colonnes le choix de priorité 1, 2 ou 3 . possible alors par validation de données d'interdire 2 fois le même choix
https://www.cjoint.com/c/LCDkcYCJFfG
Cdlmnt
Via
The_boss_68
Messages postés
930
Date d'inscription
dimanche 15 novembre 2015
Statut
Membre
Dernière intervention
9 janvier 2025
178
29 mars 2022 à 13:39
29 mars 2022 à 13:39
Bonjour,
Pour la colonne C avec une macro
https://www.cjoint.com/c/LCDlLXkB4Tj
Slts
Pour la colonne C, la personne peut saisir plusieurs actions
Pour la colonne C avec une macro
https://www.cjoint.com/c/LCDlLXkB4Tj
Slts
via55
Messages postés
14510
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2025
2 740
29 mars 2022 à 14:01
29 mars 2022 à 14:01
1) revoir mon post 10 j'avais rajouté des infos après coup que tu n'a pas du lire
2) Pour une sélection multiple il faut là encore passer par une macro en VBA faisant ouvrir un userform avec une zone de liste à choix multiple et retranscrivant les données choisies dans la cellule
https://www.cjoint.com/c/LCDl6upBd7G
2) Pour une sélection multiple il faut là encore passer par une macro en VBA faisant ouvrir un userform avec une zone de liste à choix multiple et retranscrivant les données choisies dans la cellule
https://www.cjoint.com/c/LCDl6upBd7G
via55
Messages postés
14510
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2025
2 740
29 mars 2022 à 14:22
29 mars 2022 à 14:22
Autre possibilité que celle indiquée dans mon post 15, toujours par macro bien sûr, pas moyen de faire autrement mais ici sans userform mais avec zone de liste à cocher (et + mis entre les choix, pourrait se faire aussi sur le modèle avec userform du post 15
https://www.cjoint.com/c/LCDmu1jhsGG
https://www.cjoint.com/c/LCDmu1jhsGG
via55, c'est exactement ce que je souhaite :-)
Pour modifier le "carré jaune" et les choix, je le trouve où ? Que dans le code ?
Pour modifier le "carré jaune" et les choix, je le trouve où ? Que dans le code ?
via55
Messages postés
14510
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 janvier 2025
2 740
29 mars 2022 à 15:54
29 mars 2022 à 15:54
Pour modifier les choix c'est dans la feuille Menus déroulants
Si la liste des choix est plus longue que celle actuelle il faut modifier la plage (en gras ci dessous) dans la macro :
Pour modifier la taille de la fenêtre de choix qui s'ouvre c'est aussi dans la macro ci-dessus
Me.ListBox1.Height = 90 détermine la hauteur
et Me.ListBox1.Width = 100 détermine la largeur
Quand à la couleur jaune pour la changer il faut aller dans le Ruban - Développeur et cliquer sur Mode création, la liste de choix apparait - clic droit dessus puis Propriétés et dans la fenêtre qui s'ouvre modifier la couleur de la propriété Backcolor
Si tu n'as l'onglet Développeur dans le ruban voilà ce que dit l'aide Microsoft :
L’onglet Développeur n’est pas affiché par défaut, mais vous pouvez l’ajouter au ruban.
Sous l’onglet Fichier, voir Options>Personnaliser le ruban.
Sous Personnaliser le ruban et Onglets principaux, activez la case à cocher Développeur.
Si la liste des choix est plus longue que celle actuelle il faut modifier la plage (en gras ci dessous) dans la macro :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([c2:c1000], Target) Is Nothing And Target.Count = 1 Then
Me.ListBox1.MultiSelect = fmMultiSelectMulti
Me.ListBox1.List = Sheets("Menus déroulants").Range("A3:A8").Value
a = Split(Target, " ")
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
Me.ListBox1.Height = 90
Me.ListBox1.Width = 100
Me.ListBox1.Top = Target.Top
Me.ListBox1.Left = Target.Left + Target.Width
Me.ListBox1.Visible = True
Else
Me.ListBox1.Visible = False
End If
End Sub
Pour modifier la taille de la fenêtre de choix qui s'ouvre c'est aussi dans la macro ci-dessus
Me.ListBox1.Height = 90 détermine la hauteur
et Me.ListBox1.Width = 100 détermine la largeur
Quand à la couleur jaune pour la changer il faut aller dans le Ruban - Développeur et cliquer sur Mode création, la liste de choix apparait - clic droit dessus puis Propriétés et dans la fenêtre qui s'ouvre modifier la couleur de la propriété Backcolor
Si tu n'as l'onglet Développeur dans le ruban voilà ce que dit l'aide Microsoft :
L’onglet Développeur n’est pas affiché par défaut, mais vous pouvez l’ajouter au ruban.
Sous l’onglet Fichier, voir Options>Personnaliser le ruban.
Sous Personnaliser le ruban et Onglets principaux, activez la case à cocher Développeur.