Liste déroulante sans passer par une liste sur feuille

Résolu
Valoche01 Messages postés 45 Statut Membre -  
Valoche01 Messages postés 45 Statut Membre -
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
A voir également:

2 réponses

f894009 Messages postés 17413 Statut Membre 1 715
 
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 45 Statut Membre
 
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