je le code VBA suivant:liste déroulante Maximum/longueur de formule dans Excel
myList = "test"
Range("A1:Z1").Validation.Delete
Range("A1:Z1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=myList
Si ma liste dépasse 256 caractères, il est tronqué. Si elle dépasse 1024, j'obtiens une erreur d'exécution (je pense que c'est la longueur maximale pour une formule).
Comment puis-je dépasser ces limites? J'utilise Excel 2003.
Vous pouvez utiliser l'approche de la plage nommée li nk http://www.contextures.com/xlDataVal11.html Ce que vous pouvez faire (et je fais cela) est de créer une feuille cachée et dans cette feuille je peuplerai le Col A avec ma liste et lui donner un nom puis utiliser cette plage nommée dans la liste de datavalidation. Essayez-le et si vous êtes coincé, il vous suffira de poster le code que vous avez essayé de poster, et je pourrais vous montrer un exemple de code pour y parvenir. :) –
Comme je l'ai déjà dit plus bas, le projet VBA sert de référence et est utilisé ainsi que de nombreux documents Excel. J'ai regardé cette approche mais je devrais créer dynamiquement les noms et ensuite les contrôles. Cela ressemble à un peu plus complexe. – dnLL
Non, vous n'avez pas besoin de créer les contrôles;) Juste la plage nommée dans la feuille cachée –