Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

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

Ancien nº de publication de cet article : F13225
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « 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 : 08/23/2005 19:08:48 - Révision : 1.3

Microsoft Excel 5.0 pour Macintosh, Microsoft Visual Basic pour Applications 1.0, Microsoft Excel 95 Standard, Microsoft Excel 5.0 Standard, Microsoft Excel 5.0 Standard, Microsoft Excel 5.0c

  • vba KB463225
Commentaires