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

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. 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