Liste déroulante via macro

Bonjour,

est-ce que quelqu'un pourrait me dire comme écrire une macro VBA afin de créer une liste déroulante s'il vous plait?

Je m'explique: En simplifiant mon problème j'ai une feuille avec un tas de données et il faudrait que je créé une macro qui me fasse automatiquement une liste déroulante dans une cellule.

ex: dans la feuille "bilan" je veux avoir France et dans la cellule B1 une liste déroulante avec "Paris, Lyon....", Portugal et en B2 "porto,arcos" et ainsi de suite

je sais écrire la macro pour extraire automatiquement le champ "pays" mais je ne sais pas comment écrire la macro qui créé la liste déroulante dans la cellule associé au "PAYS" et qui intégré dans la liste les différentes villes associé au pays.

Bonjour de barros,

si tu ne sais pas comment écrire un code, essaie d'enregistrer manuellement une macro, c'est loin d'être parfait mais Excel te donne le code complet,, (tu peux généralement débrousailler derrière). J'ai enregistré le code pour la liste déroulante de la France (Paris, Bordeaux, Lyon, Nantes), Excel l'écrit comme ça :

Sub Macro3()
'
' Macro3 Macro
'

'
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=DONNEES!$B$1:$B$4"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

Je n'ai pas mis de messages d'erreur ou de messages d'information, les lignes correspondantes sont donc vides.

Tu utilises quoi comme Macro pour extraire le champ pays par curiosité ?

J'ai commencé à regarder comment adapter la liste en fonction de la cellule à gauche de la liste, la plupart du temps c'est par le biais de l'utilisation d'un tableau auquel on fait référence dans la formule.

France

Paris

Bordeaux

Lyon

Nantes

et un tableau Espagne du même style

On nomme ce tableau "France" par exemple (Zone Nom) et on écrit = SI($A1 = "France"; France; Espagne)

Plus on a de pays, Plus il faut rallonger la formule, pas sur que ce soit viable avec bcp de pays.

Je continue à regarder

merci pour ton aide

Worksheets("Feuil1").Columns(1).Value = Worksheets("Feuil2").Columns(1).Value pour extraire une colonne

par contre comment faire pour que la macro liste déroulante l'exécute automatiquement? Parce que en fait mon tableau donnée comporte plusieurs centaines de lignes et il faudrait que dans bilan elle créée la liste déroulante pour chaque cellule associé au pays.

Si quelque sait comment faire ça serait super sympa.

Bonjour,

je n'ai pas eu le temps de l'essayer, mais pour le moment c'est ce qui se rapproche le plus de ce que tu veux faire :

Je continue à chercher .

Rechercher des sujets similaires à "liste deroulante via macro"