Liste déroulante VBA

Bonjour tout le monde,

J'ai réussi à trouver un code me permettant de réaliser une liste déroulante via un code VBA.

Voici le code en question :

Sub test()
Cells(3, 3).Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$A$1:$A$7"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = "Sélection"
        .ErrorTitle = ""
        .InputMessage = "Choisissez une valeur"
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

Néanmoins ce code ne fonctionne que si les paramètres sont dans le même onglet. Dans ma situation les paramètres qui devront s'afficher dans la liste déroulante sont disponible dans un autre onglet nommé "Par".

Je souhaiterai que le code prennent en compte les paramètres cités dans mon onglet "Par" de A1 à A7.

J'ai essayé avec le code suivant :

Sub test()
Cells(3, 3).Select
    With Sheets("Par").Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$A$1:$A$7"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = "Sélection"
        .ErrorTitle = ""
        .InputMessage = "Choisissez une valeur"
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

Mais Excel m'affiche une erreur :/

Pour information je suis sous la version 2003. Est ce que quelqu'un pourrait m'aider s'il vous plait ?

Merci beaucoup !

Bonjour,

Essayez :

Sub test()
    With Cells(3, 3).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=Par!$A$1:$A$7"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = "Sélection"
        .ErrorTitle = ""
        .InputMessage = "Choisissez une valeur"
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

A+

Ca fonctionne ! Super !

Merci beaucoup

Rechercher des sujets similaires à "liste deroulante vba"