Nommer une plage par VBA
Résolu
hbe
-
hbe -
hbe -
Bonjour,
Je souhaiterais nommer une plage de cellules qui varient en fonction des données extraites. Pour sélectionner les cellules documentées j'écris Range ("A1").CurrentRegion.Select, mais il m'est difficile de nommer cette plage car la macro exige les références des lignes et colonnes, ce qui ne me convient pas car elles sont variables.
Pease help.
Je souhaiterais nommer une plage de cellules qui varient en fonction des données extraites. Pour sélectionner les cellules documentées j'écris Range ("A1").CurrentRegion.Select, mais il m'est difficile de nommer cette plage car la macro exige les références des lignes et colonnes, ce qui ne me convient pas car elles sont variables.
Pease help.
3 réponses
-
Bonjour
essaiesDim fin As String fin = Cells.Find("*", , , , , xlPrevious).Address Sheets(1).Names.Add Name:="lazone", RefersTo:=" =$A$1:" & fin -
Bonjour, j'ai essayé votre proposition, mais sans succès. Aucun message d'erreur, la plage n'est cependant pas nommé.
Merci de m'aider svp.-
-
-
il n(y a pas besoin de sélectionner au préalable par current;region d'autant plus qu'une règle de base de VBA déconseille formellement d'utiliser "select"
d'autre part "current.region " est assez piègée(colonne vide par ex) s'il y a des trous dans la zone à baptiser
"fin" donne l'adresse de la dernière cellule de la feuille ayant une donnée
si tu peux ou veux utiliser "current.region"Sub xxx() Dim plage As String plage = Range("A1").CurrentRegion.Address Sheets(1).Names.Add Name:="coucou", RefersTo:=" =plage" End Sub
je viens de re-tester les 2 manières et c'est OK partout
-
-