VBA : Définir le nom sur une plage de cellules

Exclusion de responsabilité du contenu obsolète de la base de connaissances

Cet article a été rédigé sur les produits pour lesquels Microsoft n’offre plus aucune prise en charge. Par conséquent, cet article est proposé « en l’état » et ne sera plus mis à jour.

Symptômes


Utilisant Visual Basic pour Excel, je souhaite définir un nom sur une
plage de cellules, comme il est possible de le faire par la zone de nom
ou la commande "Définir" du menu secondaire "Nom..." du menu "Insertion".
Comment dois-je procéder ?


Résolution


Il est possible d'utiliser 2 méthodes :

1. En définissant la propriété Nom de l'objet Plage à nommer. Le nom
créé est toujours global au classeur.
#########################################################################
' Syntaxe Visual Basic français

<Objet Plage>.Nom = "Nom à attribuer"
' Syntaxe Visual Basic anglais :

<Objet Range>.Name = "Nom à attribuer"
#########################################################################


2. En ajoutant un élément à la collection de noms du classeur. Il suffit
d'utiliser la méthode Ajouter sur la collection Noms. Le nom créé peut
être global, ou local au classeur, visible ou non,...

#########################################################################
' Code Visual Basic français

<Objet de type Classeur>.Noms.Ajouter(Nom:=; RéférenceA:=; Affiché:=; _
TypeMacro:=; ToucheRaccourci:=; Catégorie:=; NomLocal:=; _
RéférenceLocale:=; CatégorieLocale:=; RéférenceL1C1:=; _
RéférenceLocaleL1C1:=)
' Code Visual Basic anglais

<Objet de type Workbook>.Add(Name:=, RefersTo:=, Visible:=, _
MacroType:=, ShortcutKey:=, Category:=, NameLocal:=, RefersToLocal:=, _
CategoryLocal:=, RefersToR1C1:=, RefersToR1C1Local:=)
#########################################################################


EXEMPLE :

La procédure définitNomGlobal permet de définir la zone A3:B5, de la
feuille de calcul "Feuil1" du classeur actif sous le nom "MaZone".
La procédure définitNom permet de définir la zone A3:B5, de la feuille
"Feuil1" du classeur actif sous le nom masqué "MaZone", par la méthode
Ajouter de la collection Noms.


#########################################################################
' Code Visual Basic français

Proc définitNomGlobal()
ClasseurActif.FeuillesCalcul("Feuil1").Plage("A3:B5").Nom = "MaZone"
Fin Proc
Proc définitNom()
Avec ClasseurActif
.Noms.Ajouter Nom:="MaZone"; RéférenceA:=.FeuillesCalcul("Feuil1"). _
Plage("A3:B5").Adresse; Affiché:=Faux
Fin Avec
Fin Proc
' Code Visual Basic anglais

Sub définitNomGlobal()
ActiveWorkbook.Worksheets("Feuil1").Range("A3:B5").Name = "MaZone"
End Sub
Sub définitNom()
With ActiveWorkbook
.Names.Add Name:="MaZone", RefersTo:=.Worksheets("Feuil1"). _
Range("A3:B5").Address, Visible:=False
End With
End Sub
#########################################################################


REMARQUES :

1. La méthode Ajouter permet de définir n'importe quel type de nom.
2. Dans l'utilisation de la méthode Ajouter, vous ne devez spécifier
qu'un seul des arguments "Référence..."


Références


Pour plus de renseignements, veuillez vous référer à l'aide en ligne aux
mots clés concernés.
Propriétés

ID d'article : 463225 - Dernière mise à jour : 23 août 2005 - Révision : 1

Commentaires