Nommer une plage en ref relative

marc.as

XLDnaute Junior
Bonjour à tous

Sous excel 2000, je voudrais nommer une plage de cellule en référence relative.

Voici ce que j'ai.

Selection.CurrentRegion.Select
(Pour sélectionner mes données)

ActiveWorkbook.Names.Add Name:="Base", RefersToR1C1:="='3A'!R3C1:R25C16"
(Ce que l'enregistreur de macro m'a donné... Pb ça fait référence à une feuille précise et une plage précise)

ActiveWorkbook.Names.Add Name:="Base", RefersToR1C1:=ActiveCell
(Ce que j'ai trouvé, mais ça ne marche que pour une seule cellule, je ne trouve pas la syntaxe pour que çà concerne la plage acutellement sélectionnée quelle que soit la feuille concernée)

Merci à tous pour votre aide
Marc.as
 

wilfried_42

XLDnaute Barbatruc
Re : Nommer une plage en ref relative

Bonjour

essaye ca

Code:
ActiveWorkbook.Names.Add Name:="Base", RefersToR1C1:=ActiveCell.currentregion.address

pas besoin de selectionner

par contre, comme tu dois surement le faire plusieurs fois, le 2eme Add plantera, je te suggere

Code:
On error resume next
ActiveWorkbook.names("Base").delete
On error goto 0
ActiveWorkbook.Names.Add Name:="Base", RefersTo:=ActiveCell.currentregion.address
 

job75

XLDnaute Barbatruc
Re : Nommer une plage en ref relative

Bonjour à tous,

Wilfried, Address ne semble pas convenir telle quelle.

1) Si l'on veut une référence absolue, utiliser simplement :

Code:
ActiveWorkbook.Names.Add Name:="Base", RefersToR1C1:=ActiveCell.CurrentRegion

2) Si l'on veut une référence relative, il faut utiliser Address mais en complétant pour qu'une référence relative soit renvoyée (voir l'aide VBA).

Nota : on peut appliquer la formule autant de fois que l'on veut, pas de bug.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 679
Messages
2 090 848
Membres
104 677
dernier inscrit
soufiane12