Afficher le nom d'une plage dans une cellule

Elfe_Errant

XLDnaute Nouveau
Bonjour,

J'utilise sur une feuille de nombreuses plages de cellules nommées.

J'aurais besoin de faire ressortir le nom de cette plage dans une autre cellule (à côté de la plage).

Existe-il une formule permettant de faire ca a votre connaissance ?
Je n'ai rien trouvé de tel.

Merci de votre aide !
 

SubEndSub

XLDnaute Occasionnel
Re : Afficher le nom d'une plage dans une cellule

Bonjour chez vous

En utilisant :

Insertion/Noms/Coller/Coller une liste

Tu obtiendras tous les noms et leur référence


L'équivalent par macro VBA
Code:
Sub macro()
[A1].Select
Selection.ListNames
End Sub
 
Dernière édition:

vinsouth

XLDnaute Nouveau
Re : Afficher le nom d'une plage dans une cellule

Bonjour,

Je remonte ce sujet, car je ne trouve toujours pas de solution sous Excel 2007.

J'aimerais simplement coller en haut d'un tableau où chaque colonne (plage) a été nommée, le nom exact qu'a donné le gestionnaire de noms de plage à chaque colonne.

Cette définition s'est faite à partir de la première ligne de la colonne, qui contenait du texte. Et comme excel n'aime pas le vide, il a rajouté de l'underscore en lieu et place de chaque espace (expl, une colonne dont l'entête était "nombre d'heures travaillées" s'appelle "nombre_d_heures_travaillées".

J'ai une cinquantaine de colonnes comme cela, et j'ai besoin d'y faire référence régulièrement par Indirect().

Ces noms de plages apparaissent bien dans le gestionnaire, en proposition de saisie dans les formules... bref excel les connait ! Il doit bien avoir un moyen de les afficher une à une quelque part ? C'est sûrement tout simple... peut-être une fonction texte cachée ?

Any idea ?

Merci d'avance,
V.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Afficher le nom d'une plage dans une cellule

Bonjour.

Personnellement j'utilise assez souvent ces fonctions perso dans mes réalisations à usage perso :
VB:
Function NomColonne(Optional ByVal Rg As Range, Optional ByVal Déf As String = "")
If Rg Is Nothing Then Set Rg = Application.Caller
NomColonne = NomPlage(Rg.EntireColumn, Déf)
End Function
Function NomPlage(Optional ByVal Rg As Range, Optional ByVal Déf As String = "") As String
Dim Nom As String
If Rg Is Nothing Then
   Set Rg = Application.Caller
                    Nom = NomPlage(Rg.Offset(1, 0))
   If Nom = "" Then Nom = NomPlage(Rg.Offset(0, 1))
   If Nom = "" Then Nom = NomPlage(Rg.Offset(-1, 0))
   If Nom = "" Then Nom = NomPlage(Rg.Offset(0, -1))
Else
   On Error Resume Next: Nom = Rg.Name.Name
   If Err <> 0 Then NomPlage = Déf: Exit Function
   End If
NomPlage = Mid$(Nom, PosPExcla(Nom) + 1)
End Function

Function PosPExcla(ByVal Z As String) As Long
Rem. Le nom de feuille peut contenir "!", et même "'!", ou commencer par "!", pourquoi pas, mais on ne peut
'    se contenter de chercher tout simplement le dernier "!" car la suite de Z peut aussi contenir "#REF!" !
If Left$(Z, 1) = "'" Then PosPExcla = InStr(Replace(Mid$(Z, 2), "''", "??"), "'!") + 2 Else PosPExcla = InStr(Z, "!")
End Function
 

vinsouth

XLDnaute Nouveau
Re : Afficher le nom d'une plage dans une cellule

Merci pour cette réponse. Je ne suis pas bien au point en vba, je cherchais plutôt une solution dans les formules excel. Mais apparemment, ça n'existe pas... je vais devoir m'y mettre donc^^
Cdt,
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 959
Membres
103 990
dernier inscrit
lamiadebz