Bonjour,

J'ai un problème dans l'écriture d'une fonction qui doit créer une liste déroulante dans une cellule (validation) en se basant sur des valeurs qui sont dans une colonne d'une autre feuille. Ce qui me complique la tâche c'est que la longueur de la liste n'est pas constante et varie en fonction de la colonne.

Je suis parti de ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 Cells(1, 5).Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$A$1:$A$8"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = "Sélection"
        .ErrorTitle = ""
        .InputMessage = "Choisissez une valeur"
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
mais je n'arrive pas à écrire le champ "Formula1" sachant que la nom de la feuille où se trouve la liste avec les valeurs est passé en paramètre ainsi que la colonne visée et que la dernière ligne de la liste doit soit être aussi passée en paramètre soit idéalement calculée.

J'espère que j'ai été clair dans la description de mon problème. En parcourant le forum, je n'ai pas vu de solution à mon problème.

Merci d'avance pour votre aide

Renaud