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

Fermé
Jean-Mi - 18 févr. 2017 à 21:03
eriiic Messages postés 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 - 19 févr. 2017 à 08:27
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

ccm81 Messages postés 10879 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 septembre 2024 2 415
18 févr. 2017 à 21:25
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 24595 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 2 septembre 2024 7 235
Modifié par eriiic le 19/02/2017 à 08:28
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