OVH Cloud OVH Cloud

Définir un nom

12 réponses
Avatar
Bruno RCSC
Bonjour,

Win XP, Excel 2002

Je souhaite définir une base de données de hauteur variable commençant en A5
J'utilise le code suivant :
ActiveWorkbook.Names.Add Name:="database",
RefersToR1C1:=Range("A5").CurrentRegion
Or, la base de données obtenues fait référence à A1 et non en A5.
Que dois je changer ?
Comment définir un nom qui va d'une cellule donnée (ex : C4) à la dernière
cellule (variable) d'une feuille ?

Merci pour votre aide.

BH.

10 réponses

1 2
Avatar
isabelle
bonjour Bruno,

par formule:

ÞCALER(Feuil1!$A$5;;;NBVAL(Feuil1!$A5:$A65535);NBVAL(Feuil1!$1:$1))

ou en vba:

ActiveWorkbook.Names.Add Name:="database", _
RefersTo:=Evaluate("OFFSET(Feuil1!A5,,,COUNTA(Feuil1!A5:A65535),COUNTA(Feuil1!A5:AV5))")

isabelle


Bonjour,

Win XP, Excel 2002

Je souhaite définir une base de données de hauteur variable commençant en A5
J'utilise le code suivant :
ActiveWorkbook.Names.Add Name:="database",
RefersToR1C1:=Range("A5").CurrentRegion
Or, la base de données obtenues fait référence à A1 et non en A5.
Que dois je changer ?
Comment définir un nom qui va d'une cellule donnée (ex : C4) à la dernière
cellule (variable) d'une feuille ?

Merci pour votre aide.

BH.




Avatar
isabelle
rectification pour la formule :

ÞCALER(Feuil1!$A$5;;;NBVAL(Feuil1!$A5:$A65535);NBVAL(Feuil1!$5:$5))

isabelle


bonjour Bruno,

par formule:

ÞCALER(Feuil1!$A$5;;;NBVAL(Feuil1!$A5:$A65535);NBVAL(Feuil1!$1:$1))

ou en vba:

ActiveWorkbook.Names.Add Name:="database", _
RefersTo:=Evaluate("OFFSET(Feuil1!A5,,,COUNTA(Feuil1!A5:A65535),COUNTA(Feuil1!A5:AV5))")


isabelle


Bonjour,

Win XP, Excel 2002

Je souhaite définir une base de données de hauteur variable commençant
en A5
J'utilise le code suivant :
ActiveWorkbook.Names.Add Name:="database",
RefersToR1C1:=Range("A5").CurrentRegion
Or, la base de données obtenues fait référence à A1 et non en A5.
Que dois je changer ?
Comment définir un nom qui va d'une cellule donnée (ex : C4) à la
dernière cellule (variable) d'une feuille ?

Merci pour votre aide.

BH.





Avatar
garnote
Salut Bruno,

Pour définir un nom qui va d'une cellule donnée (ex : C4) à la dernière
cellule remplie de la colonne C, il y a ceci :

Sub Nom()
ActiveWorkbook.Names.Add Name:="database", _
RefersTo:=Range(Range("C4"), Range("C65536").End(xlUp))
End Sub

Serge
Avatar
MichDenis
Une façon de faire :

With Worksheets("NomDeLaFeuille")
.Range("A1").CurrentRegion.Offset(4). _
Resize(.Range("A1").CurrentRegion.Rows.Count - 4).Name = "toto"
End With



"Bruno RCSC" a écrit dans le message de news:
45db2ab7$0$25925$
Bonjour,

Win XP, Excel 2002

Je souhaite définir une base de données de hauteur variable commençant en A5
J'utilise le code suivant :
ActiveWorkbook.Names.Add Name:="database",
RefersToR1C1:=Range("A5").CurrentRegion
Or, la base de données obtenues fait référence à A1 et non en A5.
Que dois je changer ?
Comment définir un nom qui va d'une cellule donnée (ex : C4) à la dernière
cellule (variable) d'une feuille ?

Merci pour votre aide.

BH.
Avatar
JB
Bonsoir,

-Eventuelles lignes vides en colonne A
-Peu importe ce qu'il y a en A1:A4

[A5].Resize([A65000].End(xlUp).Row - 4,
[A5].End(xlToRight).Column).Name = "mabd"

JB
On 20 fév, 18:06, "Bruno RCSC" wrote:
Bonjour,

Win XP, Excel 2002

Je souhaite définir une base de données de hauteur variable commenç ant en A5
J'utilise le code suivant :
ActiveWorkbook.Names.Add Name:="database",
RefersToR1C1:=Range("A5").CurrentRegion
Or, la base de données obtenues fait référence à A1 et non en A5.
Que dois je changer ?
Comment définir un nom qui va d'une cellule donnée (ex : C4) à la d ernière
cellule (variable) d'une feuille ?

Merci pour votre aide.

BH.


Avatar
Bruno RCSC
Merci pour vos réponses mais certaines ne vont pas (où j'ai peut être pas
compris) :

Pour le code vba d'Isabelle, le nom Base_de_données (Insertion/Nom/définir)
donne =#Nom?

Pour le code de MichDenis, cela bogue et met l'erreur d'exécution "1004".

Pour le code de Serge, Ok mais comment dois je faire pour aller à la
dernière cellule remplie mais pas en colonne C (en colonne X) ?

BH.
Avatar
MichDenis
| Pour le code de MichDenis, cela bogue et met l'erreur d'exécution "1004".

J'espère que tu as pris le temps d'inscrire le nom de TA FEUILLE dans la procédure
en remplacement du nom : "NomDeLaFeuille"

With Worksheets("NomDeLaFeuille")
.Range("A1").CurrentRegion.Offset(4). _
Resize(.Range("A1").CurrentRegion.Rows.Count - 4).Name = "toto"
End With
Avatar
Bruno RCSC
Oui, j'ai mis le nom adéquate, d'ailleurs l'arrêt et la mise en jaune du
code commence au point devant Range.

BH

| Pour le code de MichDenis, cela bogue et met l'erreur d'exécution "1004".

J'espère que tu as pris le temps d'inscrire le nom de TA FEUILLE dans la
procédure
en remplacement du nom : "NomDeLaFeuille"

With Worksheets("NomDeLaFeuille")
.Range("A1").CurrentRegion.Offset(4). _
Resize(.Range("A1").CurrentRegion.Rows.Count - 4).Name = "toto"
End With




Avatar
MichDenis
Dans ta question originale, il y avait ceci :

| RefersToR1C1:=Range("A5").CurrentRegion
| Or, la base de données obtenues fait référence à A1 et non en A5.

Cela suppose qu'il y a des données entre A1 et A5 .... NON ?
Si c'est le cas la procédure proposée fonctionne correctement et
répond à ta question.

En supposant par exemple que la cellule A1 possède une donnée mais
que la cellule soient isolée du reste de la feuille, une erreur 1004 est générée
MAIS LES DISPOSITIONS DES DONNÉES ne correpondent pas à
ta demande initiale.





"Bruno RCSC" a écrit dans le message de news:
45db41f6$0$27368$
Oui, j'ai mis le nom adéquate, d'ailleurs l'arrêt et la mise en jaune du
code commence au point devant Range.

BH

| Pour le code de MichDenis, cela bogue et met l'erreur d'exécution "1004".

J'espère que tu as pris le temps d'inscrire le nom de TA FEUILLE dans la
procédure
en remplacement du nom : "NomDeLaFeuille"

With Worksheets("NomDeLaFeuille")
.Range("A1").CurrentRegion.Offset(4). _
Resize(.Range("A1").CurrentRegion.Rows.Count - 4).Name = "toto"
End With




Avatar
garnote
Salut Bruno,

Pour le code de Serge, Ok mais comment dois je faire pour aller à la dernière cellule remplie mais pas en colonne C (en colonne X)
?


Est-ce que cette macro te convient ?
Sub Nom()
ActiveWorkbook.Names.Add Name:="database", _
RefersTo:=Range(Range("C4"), Range("X65536").End(xlUp))
End Sub

Serge

1 2