Liste déroulante VBA

Bonjour tout le monde,

Je cherche à mettre une liste déroulante dans une feuille Excel et j'ai besoin de faire cette action dans le déroulement d'une macro.

L'enregistreur m'a donné le début mais je ne trouve pas comment dire que la plage est variable....

    With Range("B12").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=Hidden!P4:P5"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With

La plage qui est P4:P15 dans l'exemple peut s'étendre beaucoup plus loin dans la colonne P.

J'ai mis ce compteur

 finliste = Hidden.Range("P" & Rows.Count).End(xlUp).Row

pour trouver la fin plage mais je ne sais pas comment le mettre dans la formule sans obtenir une erreur !

Merci d'avance pour votre aide !

Bonne journée

Bonjour Loïc, bonjour le forum,

Une possibilité parmi tant d'autres :

Sub Macro1()
Dim DL As Long

With Sheets("Hidden")
    DL = .Cells(Application.Rows.Count, "P").End(xlUp).Row
    .Range("P4:P" & DL).Name = "maplage"
End With
With Range("B12").Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=maplage"
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
End With
End Sub

C'est nickel merci beaucoup !!

Bonne journée et à bientôt


C'est nickel merci beaucoup !!

Bonne journée et à bientôt

Re,

Arf ! C'est un bégaiement de contentement j'imagine...

Rechercher des sujets similaires à "liste deroulante vba"