Liste déroulante sans passer par une liste sur feuille

Résolu/Fermé
Valoche01 Messages postés 43 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 22 août 2017 - Modifié par Valoche01 le 23/05/2014 à 11:01
Valoche01 Messages postés 43 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 22 août 2017 - 23 mai 2014 à 14:48
Bonjour à tous,

après de nombreuses recherches, je n'arrive pas à créer ma liste déroulante sans récupérer la liste sur une feuille.
Simplement je voudrais qu'en lançant ma macro (la liste étant dans le code VBA), une cellule sur une feuille soit dotée d'un choix simple avec liste.

Voici une idée de code que j'ai eu en passant par les tableaux...
Merci d'avance pour votre aide !!


Option Explicit

Sub Macro1()

Dim Arr As Variant

'Je créé mon tableau
Arr = Sheets("Liste").Range("A1:A3")
Arr(1, 1) = "oui"
Arr(2, 1) = "non"
Arr(3, 1) = "en cours"
Sheets("Liste").Range("A1:A3") = Arr 'J'aimerais éviter cette ligne pour ne pas travailler sur la feuille


'Je créé ma liste de choix
Range("D1").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=A1:A3" 'Ici j'aimerais récupérer mon oui;non;en cours sans passer par la feuille
End With

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
23 mai 2014 à 14:38
Bonjour,

une fcon de faire

Sub Macro1()
Dim Arr As String

Arr = "oui,non,en cours"
'Je créé ma liste de choix
Range("D1").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Arr
End With
End Sub
0
Valoche01 Messages postés 43 Date d'inscription jeudi 29 novembre 2012 Statut Membre Dernière intervention 22 août 2017
23 mai 2014 à 14:48
Ah oui il fallait connaître la syntaxe !! Je ne pensais pas qu'en mettant Formula1:=Arr , ça sélectionnerait séparément chaque mot !

Merci beaucoup c'est top !

Valentin.
0