XL 2013 Validation des données avec un vecteur

louloubru

XLDnaute Junior
Bonjour,
je souhaite valider des données à l'aide de plage nommées.
J'ai donc le code suivant par exemple :
VB:
   With Sheets(Noms_feuilles(i)).Cells(2, colcat).EntireColumn.Validation 'Morceau au sein d'une boucle, Noms_feuilles contient le nom de mes feuilles donc je procède à la validation sur toutes les feuilles
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=Catégories" 'Nom de ma plage qui sert de validation'
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With

Jusqu'ici toue va bien. Sauf que la plage de validation en doit pas être la même sur toutes les feuilles. La plage porte le même nom que la feuille donc j''utilise le vecteur Noms_feuilles de nouveau.
C'est là que ça coince ... l'utilisation d'un vecteur ne semble pas compatible avec une plage de validation, le code suivant ne fonctionne pas :

Code:
    With Sheets(Noms_feuilles(i)).Cells(2, colorg).EntireColumn.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=Noms_feuilles(i)" 'Erreur ici'
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With

Pour la ligne déclenchant l'erreur, j'ai également essayé Formula1:="Noms_feuilles(i)" --> m'écris Noms_feuilles(i) comme validation et Formula1:="="Noms_feuilles(i)"" --> erreur
Je ne sais pas comment faire : cela signifie que je ne peux pas faire de boucles sur les zones de validation ? Ça va être laborieux ...

En vous remerciant par avance,

Louise
 

Dranreb

XLDnaute Barbatruc
Bonjour.
À priori :
VB:
 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=""" & Noms_feuilles(i) & """"
Ou peut être plutôt :
VB:
 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=" & Noms_feuilles(i)
Joignez toujours un classeur pour qu'on puisse tester nos propositions.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG