[Excel Liste déroulante VBA
Résolu/Fermé
Triton circus
eriiic
- Messages postés
- 405
- Date d'inscription
- mercredi 11 juillet 2007
- Statut
- Membre
- Dernière intervention
- 11 novembre 2017
eriiic
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
A voir également:
- Vba créer liste déroulante dans une cellule
- Vba liste déroulante dans une cellule - Meilleures réponses
- Vba liste déroulante - Meilleures réponses
- [Excel Liste déroulante VBA ✓ - Forum - Excel
- Créer une liste déroulante dans une cellule excel - Guide
- Créer une liste déroulante dans une cellule s ✓ - Forum - Bureautique
- Vba liste déroulante dans une cellule ✓ - Forum - Excel
- Vba userform liste déroulante - Forum - VB / VBA
5 réponses
Christof422
20 juin 2012 à 09:02
- Messages postés
- 867
- Date d'inscription
- mardi 24 mai 2011
- Statut
- Membre
- Dernière intervention
- 8 février 2015
20 juin 2012 à 09:02
'Sélection de la case qui doit contenir la liste Cells(1, 5).Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=$A$1:$A$8" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "Sélection" .ErrorTitle = "" .InputMessage = "Choisissez une valeur" .ErrorMessage = "" .ShowInput = True .ShowError = True End With
Christof422
19 juin 2012 à 17:01
- Messages postés
- 867
- Date d'inscription
- mardi 24 mai 2011
- Statut
- Membre
- Dernière intervention
- 8 février 2015
19 juin 2012 à 17:01
ActiveSheet.DropDowns.Add(246, 28.5, 57, 15.75).Select With Selection .ListFillRange = "$A$1:$A$8" .LinkedCell = "$A$9" .DropDownLines = 8 .Display3DShading = False End With
Entre les parenthèse se trouve la taille et la position de la liste
listfillrange se trouve la plage de cellule qui vont remplir la liste
.linkedcell se trouve la cellule qui va prendre la valeur sélectionner dans la liste
dropdownline= nombre de ligne
display3dsading= image ombré en 3d (visuel)
eriiic
19 juin 2012 à 23:51
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
19 juin 2012 à 23:51
Bonsoir,
Le mieux est de faire ta validation avec =liste1
liste1 étant un nom que tu auras défini sur une autre feuille 'Listes', sur A1:A3 par exemple.
En vba tu inscris ta liste validée dans Listes!A1:A15 (si tu as 15 éléments) et tu redéfinis la plage de la liste :
ActiveWorkbook.Names.Item("liste1").RefersTo = [Listes!A1:A15]
eric
Le mieux est de faire ta validation avec =liste1
liste1 étant un nom que tu auras défini sur une autre feuille 'Listes', sur A1:A3 par exemple.
En vba tu inscris ta liste validée dans Listes!A1:A15 (si tu as 15 éléments) et tu redéfinis la plage de la liste :
ActiveWorkbook.Names.Item("liste1").RefersTo = [Listes!A1:A15]
eric
bonjour,
je débute en langage VBA, j'ai pas tout tout saisi??? tu le mets où cette action???
ActiveWorkbook.Names.Item("liste1").RefersTo = [Listes!A1:A15]
dans ce qu'à proposer :
Christof422 19 juin 2012 à 17:01
ActiveSheet.DropDowns.Add(246, 28.5, 57, 15.75).Select
With Selection
.ListFillRange = "$A$1:$A$8"
.LinkedCell = "$A$9"
.DropDownLines = 8
.Display3DShading = False
End With
je débute en langage VBA, j'ai pas tout tout saisi??? tu le mets où cette action???
ActiveWorkbook.Names.Item("liste1").RefersTo = [Listes!A1:A15]
dans ce qu'à proposer :
Christof422 19 juin 2012 à 17:01
ActiveSheet.DropDowns.Add(246, 28.5, 57, 15.75).Select
With Selection
.ListFillRange = "$A$1:$A$8"
.LinkedCell = "$A$9"
.DropDownLines = 8
.Display3DShading = False
End With
eriiic
29 nov. 2014 à 16:10
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
29 nov. 2014 à 16:10
Bonjour,
Ce sont 2 propositions indépendantes.
Pour moi il est plus simple de faire la validation manuellement avec =Liste une fois pour toute, et de redéfinir juste le nom quand la liste change.
Mais si c'est une simple liste que tu modifies manuellement pas besoin de vba.
Créer un nom dynamique qui s'adapte au nombre de saisies et c'est bon.
Ex : https://www.cjoint.com/c/DKDqqKVXW9J
eric
Ce sont 2 propositions indépendantes.
Pour moi il est plus simple de faire la validation manuellement avec =Liste une fois pour toute, et de redéfinir juste le nom quand la liste change.
Mais si c'est une simple liste que tu modifies manuellement pas besoin de vba.
Créer un nom dynamique qui s'adapte au nombre de saisies et c'est bon.
Ex : https://www.cjoint.com/c/DKDqqKVXW9J
eric
Triton circus
19 juin 2012 à 18:45
- Messages postés
- 405
- Date d'inscription
- mercredi 11 juillet 2007
- Statut
- Membre
- Dernière intervention
- 11 novembre 2017
19 juin 2012 à 18:45
Merci bien, sur le principe c'est ce que je cherche. Mais est-il possible d'avoir une liste "incrustée" dans la cellule et non une "image" au premier plan.
C'est assez délicat de gérer la position avec ses coordonnées.
C'est assez délicat de gérer la position avec ses coordonnées.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Triton circus
20 juin 2012 à 11:28
- Messages postés
- 405
- Date d'inscription
- mercredi 11 juillet 2007
- Statut
- Membre
- Dernière intervention
- 11 novembre 2017
20 juin 2012 à 11:28
Merci beaucoup Christof422 c'est exactement ce que je cherchais !!
Merci pour la rapidité et l'efficacité ;) je marque le sujet "résolu"
A+
Merci pour la rapidité et l'efficacité ;) je marque le sujet "résolu"
A+
Christof422
20 juin 2012 à 11:32
- Messages postés
- 867
- Date d'inscription
- mardi 24 mai 2011
- Statut
- Membre
- Dernière intervention
- 8 février 2015
20 juin 2012 à 11:32
Dr, lorsque tu a un problème pense à utiliser l'enregistrement de macro et regarde le code formulé par la suite.
Triton circus
20 juin 2012 à 14:48
- Messages postés
- 405
- Date d'inscription
- mercredi 11 juillet 2007
- Statut
- Membre
- Dernière intervention
- 11 novembre 2017
20 juin 2012 à 14:48
oui j'y penserai :)
Et dernière question, est il possible de mettre les éléments de la liste sur une autre feuille ?
Dans mon exemple précédent, mettre dans une seconde feuille un tableau avec le nom des marques.
Merci
Et dernière question, est il possible de mettre les éléments de la liste sur une autre feuille ?
Dans mon exemple précédent, mettre dans une seconde feuille un tableau avec le nom des marques.
Merci
eriiic
Modifié par eriiic le 20/06/2012 à 14:52
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
Modifié par eriiic le 20/06/2012 à 14:52
Bonjour,
tu n'as qu'à regarder ma proposition au dessus qui n'a eu aucun commentaire de ta part...
eric
tu n'as qu'à regarder ma proposition au dessus qui n'a eu aucun commentaire de ta part...
eric
Triton circus
Modifié par Triton circus le 20/06/2012 à 16:51
- Messages postés
- 405
- Date d'inscription
- mercredi 11 juillet 2007
- Statut
- Membre
- Dernière intervention
- 11 novembre 2017
Modifié par Triton circus le 20/06/2012 à 16:51
J'ai essayé de voir ta solution mais j'ai pas tout suivi en fait.
Je suis (totalement) débutant dans Excel et je dois faire quelques modifications sur des fichiers excel donc je récupère sur le net les différentes syntaxes etc..
En fait là je dois maintenant copier une partie du tableau mais sans les listes dans une nouvelle feuille. J'ai réussi à créer la feuille, sélectionner la plage de mon tableau (contenant les listes), le copier dans la nouvelle feuille mais j'aimerai pouvoir coller uniquement le texte et la mise en forme.
Peut être qu'il existe un collage spécial pour ça, je vois pas trop comment m'y prendre.
Merci pour vos réponses :)
edit: j'avais bien vu ta solution mais la deuxième me semblait plus simple étant donné que le code fonctionnait directement :P
Je suis (totalement) débutant dans Excel et je dois faire quelques modifications sur des fichiers excel donc je récupère sur le net les différentes syntaxes etc..
En fait là je dois maintenant copier une partie du tableau mais sans les listes dans une nouvelle feuille. J'ai réussi à créer la feuille, sélectionner la plage de mon tableau (contenant les listes), le copier dans la nouvelle feuille mais j'aimerai pouvoir coller uniquement le texte et la mise en forme.
Peut être qu'il existe un collage spécial pour ça, je vois pas trop comment m'y prendre.
Merci pour vos réponses :)
edit: j'avais bien vu ta solution mais la deuxième me semblait plus simple étant donné que le code fonctionnait directement :P
Triton circus
20 juin 2012 à 17:13
- Messages postés
- 405
- Date d'inscription
- mercredi 11 juillet 2007
- Statut
- Membre
- Dernière intervention
- 11 novembre 2017
20 juin 2012 à 17:13
Bon, avec l'enregistrement de macro j'ai bidouillé les validations et ça fonctionne même si je pense que c'est un code bien bourrin.
Avec l'experience je pourrai mieux faire je pense :P
Avec l'experience je pourrai mieux faire je pense :P