Nommer une plage de cellules au moyen d'une macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Bonjour à tous,

Voici mon problème :

Dans une colonne j'ai une série de 300 chiffres qui vont de C6 à C305.
J'ai nommé une plage de cellules de cette colonne, qui va de C6 à C112, "Abcisses".
Je voudrais, au moyen d'une macro, effacer "Abcisses" pour pouvoir renommer une autre plage de la même colonne, qui irait, par exemple, de C6 à C255, toujours "Abcisses".
"Abcisses" est donc le nom de la plage "C6:Cx" où x appartient à [6 , 305].

Dans la cellule G6 se trouve l'adresse de la plage variable de cellules, sous forme :
"C6:C112" (dans le premier cas), puis "C6:C255" (dans le second cas).

J'ai bien tenté de la manière suivante :
Dim Cellule As Range
Set Cellule = Range("G6").Value
ActiveWorkbook.Names("Abcisses").Delete
Range(Cellule.Address).Name = "Abcisses"

Mais ça n'a pas marché…

Un grand merci pour toute aide.
 
Re : Nommer une plage de cellules au moyen d'une macro

Merci pour toutes vos propositions, mais aucune ne marche.
La plus intéressante, dans le cadre d'une macro, m'a parue celle de Hasco.
J'ai donc modifié la macro :

Sub Macro1()

Dim Cellule As Range
Set Cellule = Range("G6").Value 'cellule où vient se ranger l'adresse de la plage de cellules, par exemple : "C6:C255"
ActiveWorkbook.Names("Abcisses").Delete 'il faut bien effacer le nom de l'ancienne plage de cellules
Range(Cellule.Address).Name.Add "Abcisse", Cellule

End Sub

Erreur dès la 1ère ligne (Set Cellule = Range("G6").Value).
 
Re : Nommer une plage de cellules au moyen d'une macro

Re,

Alors c'est:

Sub Macro1()

Code:
Dim Cellule As Range
Set Cellule = Range("G6") 
ActiveWorkbook.Names("Abcisses").Delete 
Range(Cellule.Address).Name.Add "Abcisse", range(Cellule.Text)
 
End Sub

Ou plus court:

Code:
ActiveWorkbook.Names("Abcisses").Delete 
Range(Cellule.Address).Name.Add "Abcisse", range(Range("G6").Text)

Donnera "C6:C255"

A toi de t'assurer que G6 contient bien une adresse interprétable par VBA.

Pour localiser le nom à une seule feuille:

Code:
Range(Cellule.Address).Name.Add "Abcisse", range(Range("G6").Parent.Name & "!" & range("G6").Text)

donnera "Feuil1!C6:C255" (si G6 et sur Feuil1 bien-sûr)


A+
 
Dernière modification par un modérateur:
Re : Nommer une plage de cellules au moyen d'une macro

Yeeees!!!!! J'ai enfin trouvé :

Sub Macro1()

Dim Cellule As Range
Set Cellule = Range("G6")
ActiveWorkbook.Names("Abcisses").Delete
Range(Cellule).Name = "Abcisses"

End Sub

Pour ceux que ça intéresserait...

En tout cas, merci pour vos tentatives.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
231
Réponses
4
Affichages
83
Retour