creer des listes deroulantes dans un classeur externe

gehel

XLDnaute Nouveau
Bonjour

J'utilise une trentaine de classeurs de structure identique. chaque classeur est destiné à recueillir des informations dans un groupe de personnes.
Il y a un tableau à remplir et j'aimerai créer des listes déroulantes pour chaque cases du tableau. Faire toutes les modifs "à la main" serait fastidieux, j'aimerai donc faire une macro qui à partir d'un classeur ferait la modification dans tous les autres.
J'ai fouiné sur les forums et j'ai trouvé des bouts de codes mais ça bloque.
je copie les cellules qui serviront de plage pour les listes dans l'onglet parametres (cellules c71 à c76)
une cellule qui doit recevoir la liste déroulante est sur l'onglet fichecole cellue O31.
wkb2 est le chemin et le nom du classeur de destination
Voilà le bout de code :

wkb2.Sheets("parametres").Range("c71:c76").Select
wkb2.Names.Add Name:="nbrsea", RefersToR1C1:= _
"=parametres!R71C3:R76C3"
wkb2.Names("nbrsea").Comment = ""

With wkb2.Sheets("fichecole").Range("o31").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=nbrsea"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

le nom est bien créé dans le classeur mais les references sont au format r1c1 :
j'obtiens : =parametres!'L71C3':'L76C3' alors que dans la liste des noms de plage ils sont sous la forme :
=parametres!$c$71:$c$76

Et ça plante ensuite sur la ligne add type et j'obtiens l'erreur 1004.

qui pourrait m'aider ?

merci d'avance
 

Discussions similaires


Haut Bas