En VBA renommer en dynamique une plage déjà existante

Bonjour,

ActiveWorkbook.Names.Add Name:="Paris_Plage", RefersToR1C1:= _
"=Feuil1!R1C1:R12C1"

comment faire pour que cela correspond à une plage Selectionnée et non une adresse statique comme dans l'exemple.

Quand je fais :
Set myrange = Worksheets("INIT").Range(Cells(4, 7), Cells(row_max, 7))
r1c1$ = "=INIT!"
r1c1$ = r1c1$ & myrange.Address(rowabsolute:=True, columnabsolute:=True, ReferenceStyle:=xlA1, External:=False)
ActiveWorkbook.Names.Add Name:="lst_profil_projet", RefersToR1C1:=r1c1$

j'ai un message d'erreur excel lors de l'execution de la macro
pourtant la chaine r1c1$ semble conforme à ce qu'attend RefersToR1C1.

2 réponses

  1. Bonjour

    Un exemple pour attribuer un nom à la plage ue plage Feuil1 dont le nom et les limites sont récupérées depuis des variables

    Public Sub OK()
    Dim lideb As Long, lifin As Long, co As Long, nomplage As String, plage As Range
    nomplage = "plage"
    lideb = 4
    lifin = 6
    co = 4
    Set plage = Sheets("Feuil1").Range(Cells(lideb, co), Cells(lifin, co))
    Sheets("Feuil1").Names.Add Name:=nomplage, RefersTo:=plage.Address
    End Sub

    Cdlmnt
    0
    1. Contributeur
      Bonjour,

      ou bien :
      myrange.name =  "lst_profil_projet"

      eric
      En essayant continuellement, on finit par réussir. 
      Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
      En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
      0