Afficher le nom de la plage

Résolu
Bonjour,

Y aurait-il une façon qu'une cellule affiche le nom d'une plage?

Par exemple, si la plage A1:E1 s'appelle Plage_1, j'aimerais que F1 indique le texte "Plage_1"

Merci d'avance! :)

5 réponses

  1. Bonjour,

    Fonction affichant les noms de champ d'un classeur. La fonction est mise à jour dynamiquement.

    Function ListeNoms()
    Application.Volatile
    Dim n As Name
    Dim a()
    ReDim a(1 To Application.Caller.Rows.Count, 1 To 2)
    i = 1
    For Each n In ActiveWorkbook.Names
    a(i, 1) = n.Name
    a(i, 2) = n
    i = i + 1
    Next n
    ListeNoms = a
    End Function

    Sélectionner A2:B10
    =listenoms()
    Valider avec maj+ctrl+entrée

    https://www.cjoint.com/c/CKEqhatXs8o

    Jacques Boisgontier
    0
    1. Re,

      ou pour ceux que ça peut intéresser ce code liste les plages nommée dans l'exemple ceux de la feuille nommée "Feuil1" et liste colonne A et lien hypertexte vers les plages nommées colonne C

      Sub NomsPlages_Sur_Feuilles()
      Dim M As Name
      Dim PlageNom As Range
      Dim i As Byte
      Dim NumLigne As Byte
      NumLigne = 1 '------------------------------------ =1 équivat ligne 1
      On Error Resume Next
      For Each M In Worksheets("Feuil1").Parent.Names
      Set PlageNom = Nothing
      Set PlageNom = M.RefersToRange
      If Not PlageNom Is Nothing Then
      If Worksheets("Feuil1").Index = PlageNom.Worksheet.Index Then
      Cells(NumLigne, 1) = M.Name '----------------1) équivaut colonne A
      '---------------------------- crée lien hypertexte vers plages nommées
      Worksheets("Feuil1").Hyperlinks.Add Anchor:=Cells(NumLigne, 3), _
      Address:="", SubAddress:=M.RefersToRange.Address(external:=True)
      NumLigne = NumLigne + 1
      End If
      End If
      Next M
      End Sub
      0
      1. Re,

        Une centaine, cela fait un peu beaucoup non !
        et sur une feuille ou réparti sur le classeur ?

        de toute façon le problème ne pourra se traiter que par VBA si tu as quelques notions
        0
        1. Oui, je sais que c'est beaucoup :P Je crois que je vais m'en sortir autrement.

          J'aurais cru qu'il y aurait peut-être eu une fonction un peu comme CELLULE(Adresse;A1).
          Genre PLAGE(Nom;A1;E1). Je devrais écrire à Microsoft pour leur suggérer mon idée :P

          Merci quand même!
          0
        2. Bonjour,

          Tu peux tester cette macro
          Sub Nom_Plage()
          Dim N As Name
          For Each N In ActiveWorkbook.Names
          Range(N.RefersTo)(Range(N.RefersTo).Count).Value = N.Name
          Next N
          End Sub

          A+
          0
      2. Bonsoir,

        Oui mais seulement en VBA, et combien y a t il de plage nommée sur la feuille ?
        0
        1. Merci pour la réponse,

          Actuellement je ne sais pas combien il va y avoir de plage nommée, mais il y en aura certainement une bonne centaine. Je suis en train d'élaborer un fichier qui contiendra plusieurs données.
          0