Création d'une liste de validation de données en indirect
Bonjour ,
Je souhaiterais créer une liste déroulante dynamique en mode indirect > 200 membres . J'ai d'abord essayé de créer une liste de validation de données de la manière suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Dim SignalsTable() As String
...
...
For Each r In .Columns("M").Cells
If (r.Row > 2) Then
If IsEmpty(r.Offset(0, -12).Value) Then Exit For
With r.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Join(SignalsTable, ",")
.InputMessage = "Must be in the joined list"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End If
...
Next |
Je suis arrivé à la conclusion que cette méthode ne fonctionne que pour les listes(ici SignalsTable) contenants peu de choix (dans mon cas <~20) . Je tiens à préciser que j'ai effectué pas mal de vérification quant au format des membres de ma liste( pas d'espaces , pas de doublons, pas trop long <~20caracteres) .
La solution que j'envisage est de me servir de la fonction indirect() qui aura comme argument un label (un objet?) qui pointe sur la plage de données qui constituras ma liste mais malheureusement je ne trouve pas cette fameuse fonction indirect et je ne sais pas non plus comment l'on peux créer un label qui se réfère a la plage que je souhaite lui assigner .
Je ne souhaite pas utiliser de combo box dans mon cas de figure .
Merci d'avance pour l'aide
Leiam