Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Menu déroulant VB Validation des cellules

  • Initiateur de la discussion Initiateur de la discussion Hellowa
  • 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 !

Hellowa

XLDnaute Junior
Bonjour à tous, bonjour le forum
Je viens (encore une fois ^^ ) solliciter votre aide. Je m'explique, je suis entrain de créer un fichier qui va placer dans de nombreuses cellule un menu déroulant.
J'ai donc créé une première macro qui séléctionne une a une les cellules, puis qui appelle une sous macro qui est la suivante:
Code:
Sub menu_deroul()
'Macro crée par Hellowa pour le forum XlD
'

'
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=[COLOR="Red"][B]FORMULE DU MENU DEROULANT[/B][/COLOR]
        
        
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = False
        .ShowError = False
    End With
End Sub
C'est donc une macro que j'ai enregistrée.
J'avais auparravant créé une liste grâce à l'insertion des données, mais une fois sur 2, elle m'affichait un message d'erreur, et il fallait que je recharge cette liste.

Mon problème est le suivant. Les données qui doivent être présentes dans le menu déroulant sont situées sur la plage "A2:A*" ( Bref, c'est extensible!!)
Peut on entrer directement la formule de la liste plutot qu'appeler un nom déjà créé?
Quelqu'un pourrai me rafraichir la mémoire s'il vous plait!😀
Merci d'avance!
 
Re : Menu déroulant VB Validation des cellules

Re,

1) Définir (menu Insertion-Nom) le nom Liste avec la formule :

=DECALER(Feuil1!$A$2;;;NBVAL(Feuil1!$A:$A)-1) ===> -1 s'il y a quelque chose en A1

2) utiliser le code :

Code:
With Selection.Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=Liste"
 End With

Mais pour travailler sur une plage, définir la cellule courante cel avec une boucle For Each cel In... et remplacer dans le code Selection par cel.

Edition : on peut aussi écrire directement :

Code:
.Add Type:=xlValidateList, Formula1:="=OFFSET($A$2,,,COUNTA($A:$A)-1)"

A+
 
Dernière édition:
Re : Menu déroulant VB Validation des cellules

Merci mille fois, en effet c'est la deuxième solution que je cherchais!
Je ne voulais plus utiliser de nom "Liste", celà était sujet à trop de bugs.
Encore merci!
 
Re : Menu déroulant VB Validation des cellules

En fait mon problème venait du fait que je mettais des ";" au lieu de ","
Damned, satanés petite différences entre les formules des cellules et celles de VB!!
 
- 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
12
Affichages
1 K
Réponses
3
Affichages
943
Réponses
16
Affichages
3 K
Réponses
1
Affichages
1 K
Réponses
2
Affichages
907
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…