Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


C'est quoi une cellule nommée ?
auteur : SilkyRoad
Par défaut, vous utilisez les étiquettes de colonnes et de lignes pour faire référence aux cellules dans la feuille de calcul (A1, J4, B2 :C10 …).
Vous pouvez également créer des noms explicites pour représenter les cellules, les plages de cellules et les formules.
Un nom est une chaîne de caractères définie par l'utilisateur et facile à interpréter, pour remplacer les classiques références de cellules.
Par exemple, =A1*Coefficient est plus facile à comprendre que =A1*G5.
Le nom ne doit pas contenir d'espace ni de caractère spécial. Le caractère underscore _ est accepté. Un nom ne peut pas commencer par une valeur numérique.

Pour nommer une cellule ou une plage de cellule:
Sélectionnez une cellule ou une plage de cellules que vous souhaitez nommer.
Cliquez dans la zone Nom, à gauche de la barre de formule.
Saisissez un nom qui servira de référence pour la cellule.
Validez en appuyant sur la touche Entrée.

Vous pouvez aussi ajouter un nom en utilisant le menu Insertion/nom/Définir.
La boîte de dialogue qui s'affiche permet aussi de visualiser tous les noms existants dans le classeur.
Saisissez le nom dans le champ Noms dans le classeur.
Spécifier l'adresse de la cellule ou de la plage dans le champ Fait référence à :.
Cliquez sur le bouton Ajouter, puis sur le bouton OK pour valider.


Nommer les formules:
Cette méthode a de nombreux avantages:
* Raccourcir la longueur des formules dans la barre de formules. Il est possible de nommer plusieurs portions de formules (La limite de chaque nom est de 256 caractères).
* Nommer les formules permet d'accélérer sensiblement le temps de calcul.
* Les formules sont masquées dans la feuille de calcul.
* les formules matricielles nommées ne sont plus à valider par Ctrl+Maj+Entrée.

Pour attribuer un nom, tout d'abord, rédigez votre formule normalement dans la cellule.
Sélectionnez la fonction dans la barre de formules.
Faites un Copier de la formule (Ctrl+C).
Revalidez votre formule (Touche Entrée).
Ensuite, utilisez le menu Insertion/Nom/Définir.
Dans le champ "Noms dans le classeur": Saisissez le nom que vous souhaitez donner à la formule (par exemple EssaiNom).
Dans le champ "Fait référence à": Effacez la référence qui s'y trouve et faites un collage de la fonction (Ctrl+V).
Cliquez sur le bouton Ajouter, puis sur le bouton OK pour valider.
Effacez la formule contenue dans la cellule et remplacez la par: =EssaiNom.



Comment lister les cellules et les plages nommées, dans l'ordre d'index des feuilles ?
auteur : SilkyRoad
La macro suivante liste les cellules et les plages nommées, dans l'ordre d'index des feuilles, et crée une table des matières avec liens hypertextes.

Vba

Sub ListeNoms_OrdreFeuilles()
    Dim N As Name
    Dim PlageNom As Range
    Dim i As Byte
    Dim NumLigne As Byte
    
    NumLigne = 1
    On Error Resume Next
    
    For i = 1 To Worksheets.Count
        For Each N In Worksheets(i).Parent.Names
            Set PlageNom = Nothing
            Set PlageNom = N.RefersToRange
            
            If Not PlageNom Is Nothing Then
                If Worksheets(i).Index = PlageNom.Worksheet.Index Then
                    Cells(NumLigne, 1) = N.Name
                    Cells(NumLigne, 2) = N.RefersToRange.Value
                    Worksheets(1).Hyperlinks.Add Anchor:=Cells(NumLigne, 3), _
                        Address:="", SubAddress:=N.RefersToRange.Address(external:=True)
                    NumLigne = NumLigne + 1
                End If
            End If
            
        Next N
    Next i
End Sub

Comment nommer des cellules non adjacentes issues d'un filtre automatique ?
auteur : SilkyRoad
Dans cet exemple, le filtre automatique est dans la feuille nommée Feuil1.

Vba

Sub NommerZoneFiltree()
ActiveWorkbook.Names.Add Name:="NomPlage_01", _
    RefersTo:="=Feuil1!" & _
    Feuil1.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Address
End Sub

Comment supprimer tous les noms dans le classeur ?
auteur : SilkyRoad
Vba

Sub SuppressionNoms()
    Dim Nom As Name
    
    For Each Nom In ActiveWorkbook.Names
        Nom.Delete
    Next Nom
End Sub

Comment modifier le nom d'une plage de cellules ?
auteur : SilkyRoad
Vba

Sub Renomme_Nom()
    Dim AncienNom As String, NouveauNom As String
    Dim Cible As String
  
    AncienNom = "NomPlage"
    NouveauNom = "MaPlage"
    
    'Récupère l'adresse de la cellule ou la plage nommée.
    Cible = Range(AncienNom).Name
    'Supprime le nom
    Range(AncienNom).Name.Delete
    'Renomme la plage initiale
    Range(Cible).Name = NouveauNom
End Sub

Comment nommer une plage de cellules dynamiquement ?
auteur : SilkyRoad
Vous souhaitez par exemple additionner les 5 dernières cellules de la colonne A, mais le nombre de lignes peut varier régulièrement.
Si vous utilisez une fonction classique (=SOMME(A6:A10)), la référence à la plage de cellule (A6:A10) devra être modifiée manuellement à chaque fois que le nombre de lignes change.

Pour y remédier, vous pouvez définir dynamiquement une plage, qui prendra en compte les 5 dernières cellules de la colonne, et lui attribuer un nom. Ensuite il suffira d'additionner la plage nommée.

Par exemple, saisissez des valeurs numériques dans la plage A1:A10.
Ensuite utilisez le menu Insertion/Nom/Définir.
Dans le champ "Nom dans le classeur:", vous indiquez PlageCible.
Dans le champ "Fait référence à:", vous indiquez =DECALER(Feuil1!$A$1;NBVAL(Feuil1!$A:$A)-5;;5;1)
Cliquez sur le bouton Ajouter, puis sur le bouton OK pour valider.
Retournez dans la feuille de calcul.
Dans la cellule B1 vous saisissez: =SOMME(PlageCible).
Si vous ajoutez des valeurs à la suite dans la colonne A, Les 5 dernières seront toujours prises en compte dans la fonction =SOMME(PlageCible).

=DECALER(Feuil1!$A$1;NBVAL(Feuil1!$A:$A)-5;;5;1) définit une plage constituée des 5 dernières cellules de la colonne A.
Dans cet exemple, les autres cellules sont supposées non vides.

Si la colonne A peut contenir moins de 5 valeurs, vous pourrez utiliser cette adaptation:
=DECALER(Feuil1!$A$1;SI(NBVAL(Feuil1!$A:$A)<5;0;NBVAL(Feuil1!$A:$A)-5);;5;1)



Comment compter le nombre de cellules d'une plage nommée ?
auteur : SilkyRoad
Vba

Sub Test()
    MsgBox CompteCellules_PlageNommee("NomPlageCellules")
End Sub


Function CompteCellules_PlageNommee(strNom As String) As Variant
    Dim Plage As Range
    
    On Error Resume Next
    Set Plage = Sheets("Feuil1").Range(strNom)
    On Error GoTo 0
    
    If Plage Is Nothing Then
        CompteCellules_PlageNommee = "Nom inconnu"
        Else
        CompteCellules_PlageNommee = Plage.Cells.Count
    End If
End Function



Vous pouvez aussi utiliser la fonction dans une cellule:
=CompteCellules_PlageNommee("NomPlageCellules")



Pourquoi Target.Name ne renvoie rien lorsque les cellules sont fusionnées ?
auteur : SilkyRoad
Si vous utilisez l'argument Target associé aux évènements (Worksheet_SelectionChange, Worksheet_Change …) pour récupérer le nom des cellules sélectionnées, appliquez la syntaxe Target.Cells(1).Name:

Vba

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    MsgBox Target.Cells(1).Name.Name
    On Error GoTo 0
End Sub

Comment ajouter ou modifier un commentaire dans cellule/plage nommée Excel 2007 ?
auteur : SilkyRoad
Cliquez sur l'onglet Formules, puis sur le bouton "Gestionnaire de noms" dans le groupe "Noms définis". Sélectionnez le nom dans la liste, et cliquez sur le bouton "Modifier". Vous pouvez indiquer vos annotations dans le champ "Commentaire".



precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2008  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com