TEST

TEST

Test

Ut enim benefici liberalesque sumus, non ut exigamus gratiam (neque enim beneficium faeneramur sed natura propensi ad liberalitatem sumus), sic amicitiam non spe mercedis adducti sed quod omnis eius fructus in ipso amore inest, expetendam putamus.

vendredi 14 mars 2014

Comment créer un « Defined Name » ?

Qu’est-ce qu’un « Defined Name »


Un « Defined Name »  est un descripteur de texte que vous pouvez utiliser pour décrire la signification  du contenu d'une cellule,  d’une plage de cellules, d’une constante, ou d’une formule.
Une fois que le « Defined Name » est établi, vous pouvez  l’utiliser partout où vous le feriez normalement.
Cela rend les formules beaucoup plus facile à comprendre et à maintenir.
Par exemple, la formule   = A1 * B1   n'est pas très significative, sauf si vous connaissez la signification des cellules A1 et B2.  Toutefois, si vous attribuez des « Defined Name » pour A1 et B1 , vous pouvez écrire votre formule comme ceci :   = PrixUnitaire *Quantite
De toute évidence, l’utilisation des  « Defined Name «  rend la formule beaucoup plus facile à comprendre et à maintenir.

Comment créer un  « Defined Name » ?


Il y a, à ma connaissance, 5 façons de créer un « Defined Name ».
  1. Sélectionner  la plage de cellules  et  remplacer le nom dans la « name box »  , ici B1 par le nom que vous désirez , ici PrixUnitaire.  Confirmer votre choix avec <Enter>.



  2. Vous sélectionnez la plage de cellules et vous vous rendez dans le menu Formulas, puis vous cliquez sur Define Name (Définir un nom en français).


    Un écran sera affiché. Vous pourrez y insérer le nom du « Defined Name » , son scope , un commentaire et modifier la référence si nécessaire.

  3. Si la feuille contient déjà des information utiles , vous sélectionnez la plage de cellules ( valeurs et libellés ) et vous vous rendez dans le menu Formulas, puis vous cliquez sur Create from Selection  Sélectionnez l’emplacement des libellés qui vont devenir les noms des « Defined Names » ( ici Top Row  )


    Voici le résultat

  4. La dernière option  « Name Manager » , vous permet de gérer ( ajouter, modifier, effacer ) les noms de vos « Defined Names » .



  5. Vous pouvez utiliser VBA pour créer vos « Defined Names ».

    Vba
    Sélectionnez
    
    Sub test_defined_name()
    ThisWorkbook.Names.Add Name:="Test_defined_visible", RefersTo:=Worksheets("Sheet1").Range("A1")
    End Sub

    Ce code créera le nom Test_defined_visible pour la sélection A1 de la feuille 1.
    Si vous ajoutez un nom qui existe déjà, il sera automatiquement effacé et recréé avec la nouvelle référence.
    Il n’est pas nécessaire de l’effacer avant. Par défaut les « Defined Name » créé manuellement ou avec le visual Basic sont visible.
    Ils apparaitront dans la « Name Box » ainsi que dans le « Name Manager » Vous pouvez cacher un nom et le rendre invisible à l’utilisateur. Un « Defined Name » caché peut être utilisé de la même manière qu’un nom visible.
    Pour cacher un nom il suffit de mettre la paramètre « Visible » à « False » comme ci-dessous.
    Vba
    Sélectionnez
    
    Sub test_defined_cache()
    ThisWorkbook.Names.Add Name:="Test_defined_cache", RefersTo:=Worksheets("Sheet1").Range("A2"), Visible:=False
    End Sub
    

    La seule façon de cacher un « Define Name » est le VBA code. Il n’y a rien d’autres dans l’interface Excell qui vous permettra de cacher un « Defined Name »
    Un exemple :
    Vba
    Sélectionnez
    
    Sub test_defined_name()
    ThisWorkbook.Names.Add Name:="Test_defined_visible", RefersTo:=Worksheets("Sheet1").Range("A1")
    ThisWorkbook.Names.Add Name:="Test_defined_cache", RefersTo:=Worksheets("Sheet1").Range("A2"), Visible:=False
    ThisWorkbook.Names.Add Name:="Test_defined_cache1", RefersTo:=Worksheets("Sheet1").Range("A2:A10"), Visible:=False
    ThisWorkbook.Names.Add Name:="Test_defined_cache2", RefersTo:=Worksheets("Sheet1").Range("A2:B10"), Visible:=False
    ThisWorkbook.Names.Add Name:="Test_defined_cache3", RefersTo:=Worksheets("Sheet1").Range("A2"), Visible:=False
    End Sub
    


    Seul "defined_visible" est visible, vous aurez accès aux « Defined Names » cachés avec le VBA code ci-dessous. L'information sera affichée dans l'"Immediate Windows"
    Vba
    Sélectionnez
    
    Sub ShowInvisibleDefineNAme()
      Dim nm As Name
      For Each nm In ActiveWorkbook.Names
          On Error Resume Next
      With nm
        If nm.Visible = False Then
        Debug.Print "Name: " & nm.Name
        Debug.Print "RefersTo: " & nm.RefersTo
        Debug.Print "Visible: " & nm.Visible
        Debug.Print "===================================="
        End If
      End With
      Next nm
    End Sub
    


    Vous pouvez effacer un « Defined Name » en utilisant le code suivant.
    Vba
    Sélectionnez
    
    Sub Delete_defined_name()ThisWorkbook.Names("Test_defined_visible").Delete
    End Sub
    >
    

    Nous voici au terme de ce post. J’espère que vous aurez trouvé autant de plaisir que moi à découvrir les manières de créer un « Defined Name ».
    A bientôt

Aucun commentaire :

Enregistrer un commentaire