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

Jean-Mi -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
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.
A voir également:

2 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
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