Re : Liste nommée dont la longueur peut varier mais dont le nom est toujours le même
Bonjour
un peu de lecture sur le sujet :
Les macros Excel | www.excelabo.net
pour revenir à ta question, si la colonne de destination est toujours la même, inutile de passer par VBA pour définir le nom.
Pourquoi ne pas définir le nom dans le classeur (formules/définir un nom).
Dans le cas présent, tu le définis de façon dynamique, c'est à dire de telle sorte qu'il s'ajuste tout seul au contenu.
Si tes données sont dans la colonne A et qu'en A1 tu as l'étiquette de données et tes valeurs commençant en A2
fans formules/définir un nom, en haut tu écris le nom de ton choix
en bas dans la zone de formule tu écris
=decaler($A$1;1;0;nbval($A:$A)-1;1)
explication :
décaler définit une plage de cellules à partir d'une cellule de référence, ici $A$1. Cette cellule est la seule qui soit fixe dans l'histoire.
2° argument : je descends de 1 cellule (je me retrouve donc en A2)
3° argument : je me décale de 0 cellules vers la droite (je reste donc en A2)
4° argument = quelle est la hauteur de ma plage ? Elle est définie par nbval($A:$A)-1 : nombre de cellules contenant une valeur dans la colonne A (c'est pour ça que cette formule est dynamique : si tu ajoutes ou enlève des valeurs, ce nombre varie). On enlève 1 car la cellule A1 contient l'étiquette de colonne. Si tu as 100 valeurs dans la colonne + l'étiquette, ça renvoie 100.
5° argument : quelle est la largeur de la plage ? ici 1 donc seulement la colonne A
Donc on part de A1 et on définit une plage qui part de 1 cellule plus bas et qui fait 100 cellules de haut. Donc A2:A101
Seule contrainte: pas de cellule vide dans la colonne de données (pas de trous) et rien d'autre que l'étiquette et les valeurs (ou alors il faut ajuster la formule.
Autre solution avec excel 2007; transformer ta colonne en table avec menu accueil/mettre sous forme de tableau.
Excel grée alors AUTOMATIQUEMENT les noms de façon dynamique et quand tu ajoutes des valeurs dans ta colonne ou que tu en supprimes, pif pouf ça s'adapte tout seul. Avantage, tu peux mettre ce que tu veux d'autre dans la colonne, excel sait si ça n'appartient pas à la table et n'en tient pas compte.