OVH Cloud OVH Cloud

pb de nommage de zone

2 réponses
Avatar
EliotNaiss
bonsoir,
ds un user, j'alimente une liste par une sélection ds une feuille de calcul,
qui provient d'un filtre élaboré.
cette zone résultante, je la renomme au fur et à mesure des filtrages mais
comme cette zone n'est jamais de la même taille (en hauteur), je n'arrive
pas à la nommer correctement.
j'écris ceci :
'je selectionne ma zone
Range("P2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlUp)).Select
'je renomme ma nouvelle zone
ActiveWorkbook.Names.Add Name:="RepSuiviSessions", RefersToR1C1:= _
"=Sessions!R2C16:R5C18"
le prblème est que dans l'adresse de la cellule du coin bas/droit (R5C18),
C18 est tjrs bon mais pas le 5 !!

ki a la soluce?
merci bcp.
Eliot

2 réponses

Avatar
EliotNaiss
J'ai encore appelé à l'aide trop vite !! Désolé :-(
il suffisait de compter le nombre de lignes de la selection, et déterminer
la dernière ligne de la zone ...
bonne nuit
Eliot

"EliotNaiss" a écrit dans le message de news:

bonsoir,
ds un user, j'alimente une liste par une sélection ds une feuille de
calcul, qui provient d'un filtre élaboré.
cette zone résultante, je la renomme au fur et à mesure des filtrages mais
comme cette zone n'est jamais de la même taille (en hauteur), je n'arrive
pas à la nommer correctement.
j'écris ceci :
'je selectionne ma zone
Range("P2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlUp)).Select
'je renomme ma nouvelle zone
ActiveWorkbook.Names.Add Name:="RepSuiviSessions", RefersToR1C1:= _
"=Sessions!R2C16:R5C18"
le prblème est que dans l'adresse de la cellule du coin bas/droit (R5C18),
C18 est tjrs bon mais pas le 5 !!

ki a la soluce?
merci bcp.
Eliot



Avatar
michdenis
Bonjour Eliot,

Une autre façon de définir une plage dynamiquement et
de lui donner le nom de "toto"
'----------------------
Dim Rg As Range
Set Rg = Range("P2").CurrentRegion
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1)
Rg.Name = "toto"
Set Rg= Nothing
'----------------------


Salutations!


"EliotNaiss" a écrit dans le message de news: %
J'ai encore appelé à l'aide trop vite !! Désolé :-(
il suffisait de compter le nombre de lignes de la selection, et déterminer
la dernière ligne de la zone ...
bonne nuit
Eliot

"EliotNaiss" a écrit dans le message de news:

bonsoir,
ds un user, j'alimente une liste par une sélection ds une feuille de
calcul, qui provient d'un filtre élaboré.
cette zone résultante, je la renomme au fur et à mesure des filtrages mais
comme cette zone n'est jamais de la même taille (en hauteur), je n'arrive
pas à la nommer correctement.
j'écris ceci :
'je selectionne ma zone
Range("P2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlUp)).Select
'je renomme ma nouvelle zone
ActiveWorkbook.Names.Add Name:="RepSuiviSessions", RefersToR1C1:= _
"=Sessions!R2C16:R5C18"
le prblème est que dans l'adresse de la cellule du coin bas/droit (R5C18),
C18 est tjrs bon mais pas le 5 !!

ki a la soluce?
merci bcp.
Eliot