Recherche…


Introduction

Topic doit inclure des informations spécifiquement liées aux plages nommées dans Excel, y compris des méthodes pour créer, modifier, supprimer et accéder aux plages nommées définies.

Définir une plage nommée

L'utilisation de plages nommées vous permet de décrire la signification d'un contenu de cellule (s) et d'utiliser ce nom défini à la place d'une adresse de cellule réelle.

Par exemple, la formule =A5*B5 peut être remplacée par =Width*Height pour faciliter la lecture et la compréhension de la formule.

Pour définir une nouvelle plage nommée, sélectionnez la ou les cellules à nommer, puis tapez un nouveau nom dans la zone Nom en regard de la barre de formule.

entrer la description de l'image ici


Remarque: les plages nommées sont définies par défaut sur une portée globale, ce qui signifie qu'elles sont accessibles depuis n'importe où dans le classeur. Les anciennes versions d'Excel prennent en charge les noms en double, il faut donc veiller à éviter les noms en double de portée mondiale, sinon les résultats seront imprévisibles. Utilisez le gestionnaire de noms de l'onglet Formules pour modifier l'étendue.

Utilisation de plages nommées dans VBA

Créer une nouvelle plage nommée appelée 'MyRange' affectée à la cellule A1

ThisWorkbook.Names.Add Name:="MyRange", _
    RefersTo:=Worksheets("Sheet1").Range("A1")

Supprimer la plage nommée nommée par nom

ThisWorkbook.Names("MyRange").Delete

Accès à la plage nommée par nom

Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("MyRange")
Call MsgBox("Width = " & rng.Value)

Accéder à une plage nommée avec un raccourci

Comme pour toute autre plage , vous pouvez accéder directement aux plages nommées à l'aide d'une notation de raccourci ne nécessitant pas la création d'un objet Range . Les trois lignes de l'extrait de code ci-dessus peuvent être remplacées par une seule ligne:

Call MsgBox("Width = " & [MyRange])

Remarque: La propriété par défaut pour une plage est sa valeur, donc [MyRange] est identique à [MyRange].Value

Vous pouvez également appeler des méthodes sur la plage. Ce qui suit sélectionne MyRange :

[MyRange].Select

Remarque: une mise en garde est que la notation de raccourci ne fonctionne pas avec les mots utilisés ailleurs dans la bibliothèque VBA. Par exemple, une plage nommée Width ne serait pas accessible en tant que [Width] mais fonctionnerait comme prévu si elle était accessible via ThisWorkbook.Worksheets("Sheet1").Range("Width")

Gérer les plages nommées à l'aide du gestionnaire de noms

Onglet Formules> Groupe Noms définis> Bouton Gestionnaire de noms

Le gestionnaire nommé vous permet de:

  1. Créer ou changer le nom
  2. Créer ou modifier la référence de cellule
  3. Créer ou modifier l'étendue
  4. Supprimer une plage nommée existante

entrer la description de l'image ici


Named Manager fournit un aperçu rapide des liens rompus.

entrer la description de l'image ici

Tableaux de plage nommés

Exemple de fiche

entrer la description de l'image ici


Code

Sub Example()
    Dim wks As Worksheet
    Set wks = ThisWorkbook.Worksheets("Sheet1")
    
    Dim units As Range
    Set units = ThisWorkbook.Names("Units").RefersToRange
    
    Worksheets("Sheet1").Range("Year_Max").Value = WorksheetFunction.Max(units)
    Worksheets("Sheet1").Range("Year_Min").Value = WorksheetFunction.Min(units)
End Sub

Résultat

entrer la description de l'image ici



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow