Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Définir par macro un nom de plage sur une feuille

3 réponses
Avatar
Georges Schell
Bonjour la liste,

Je cherche à définir, par macro, un nom sur une feuille de calcul : je veux
nommer "zonecompte", sur la feuille, une plage Colonne A, entre la ligne 6
et une ligne située plus bas, appelée "Fin", cette dernière étant
susceptible de varier.

Quelqu'un pourrait-il me donner les instructions nécessaires en VBA ?
Et en macro excel 4 ?

Merci d'avance,
Georges

Quelle est la différence entre le pouce et le majeur?
- Eh bien, essayez un peu de faire de l'auto-stop avec le majeur... Vous
verrez bien!

Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !

3 réponses

Avatar
Michel Gaboly
Bonjour,

En VBA :

Pour définir la zone :

Sub AjoutNom()
ActiveWorkbook.Names.Add "ZoneCompte", Range(Range("A6"), Range("Fin"))
End Sub


Pour la sélectionner :

Range("ZoneCompte").Select



En macro Excel 4 :


Pour définir la zone :

AjoutNom
ÞFINIR.NOM("ZoneCompte";"=L6C1:Fin")
=RETOUR()
ÞFINIR.NOM("ZoneCompte";"=L6C1:L" & LIGNE(!Fin) & "C1")

Pour la sélectionner :

=SELECTIONNER(!ZoneCompte)


Pour les 2 langages, le code indiqué fonctionne si Fin est une cellule
située en colonne A.

Si Fin couvre plusieurs colonnes, il faut alors utiliser le numéro de
ligne de Fin ou une intersection (à condition que A comporte au moins
une cellule en colonne A).

En VBA

Avec le numéro de ligne :

Sub AjoutNom()
ActiveWorkbook.Names.Add "ZoneCompte", Range(Range("A6"), Range("A" & Range("Fin").Row))
End Sub

Avec une intersection :

Sub AjoutNom()
ActiveWorkbook.Names.Add "ZoneCompte", Range(Range("A6"), Range("Fin"))
ActiveWorkbook.Names.Add "ZoneCompte", Intersect(Range("ZoneCompte"), Range("A:A"))
End Sub



En macro Excel 4 :

Avec le numéro de ligne :

AjoutNom
ÞFINIR.NOM("ZoneCompte";"=L6C1:L" & LIGNE(!Fin) & "C1")
=RETOUR()


Avec une intersection :

AjoutNom
ÞFINIR.NOM("ZoneCompte";"=L6C1:Fin C1")
=RETOUR()

NB - En VBA, l'emploi du numéro de ligne est plus concis, alors que c'est le
contraire en Excel 4 : l'emploi de l'opérateur d'intersection (l'espace)
simplifie l'écriture : l'espace se situe entre ""=L6C1:Fin" et "C1" dans

"=L6C1:Fin C1"


Voilà



Bonjour la liste,

Je cherche à définir, par macro, un nom sur une feuille de calcul : je veux
nommer "zonecompte", sur la feuille, une plage Colonne A, entre la ligne 6
et une ligne située plus bas, appelée "Fin", cette dernière étant
susceptible de varier.

Quelqu'un pourrait-il me donner les instructions nécessaires en VBA ?
Et en macro excel 4 ?

Merci d'avance,
Georges

Quelle est la différence entre le pouce et le majeur?
- Eh bien, essayez un peu de faire de l'auto-stop avec le majeur... Vous
verrez bien!

Note : Pour m1écrire directement, supprimer un des deux tirets dans mon
adresse !


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Georges Schell
Merci Michel pour ces précieuses info !
Je me demandais si vous étiez connecté aujourd'hui ; j'ai la réponse !

Bien cordialement,

Georges


dans l'article , Michel Gaboly à
a écrit le 8/08/04 17:30 :

Bonjour,

En VBA :

Pour définir la zone :

Sub AjoutNom()
ActiveWorkbook.Names.Add "ZoneCompte", Range(Range("A6"), Range("Fin"))
End Sub


Pour la sélectionner :

Range("ZoneCompte").Select



En macro Excel 4 :


Pour définir la zone :

AjoutNom
ÞFINIR.NOM("ZoneCompte";"=L6C1:Fin")
=RETOUR()
ÞFINIR.NOM("ZoneCompte";"=L6C1:L" & LIGNE(!Fin) & "C1")

Pour la sélectionner :

=SELECTIONNER(!ZoneCompte)


Pour les 2 langages, le code indiqué fonctionne si Fin est une cellule
située en colonne A.

Si Fin couvre plusieurs colonnes, il faut alors utiliser le numéro de
ligne de Fin ou une intersection (à condition que A comporte au moins
une cellule en colonne A).

En VBA

Avec le numéro de ligne :

Sub AjoutNom()
ActiveWorkbook.Names.Add "ZoneCompte", Range(Range("A6"), Range("A" &
Range("Fin").Row))
End Sub

Avec une intersection :

Sub AjoutNom()
ActiveWorkbook.Names.Add "ZoneCompte", Range(Range("A6"), Range("Fin"))
ActiveWorkbook.Names.Add "ZoneCompte", Intersect(Range("ZoneCompte"),
Range("A:A"))
End Sub



En macro Excel 4 :

Avec le numéro de ligne :

AjoutNom
ÞFINIR.NOM("ZoneCompte";"=L6C1:L" & LIGNE(!Fin) & "C1")
=RETOUR()


Avec une intersection :

AjoutNom
ÞFINIR.NOM("ZoneCompte";"=L6C1:Fin C1")
=RETOUR()

NB - En VBA, l'emploi du numéro de ligne est plus concis, alors que c'est le
contraire en Excel 4 : l'emploi de l'opérateur d'intersection (l'espace)
simplifie l'écriture : l'espace se situe entre ""=L6C1:Fin" et "C1" dans

"=L6C1:Fin C1"


Voilà



Bonjour la liste,

Je cherche à définir, par macro, un nom sur une feuille de calcul : je veux
nommer "zonecompte", sur la feuille, une plage Colonne A, entre la ligne 6
et une ligne située plus bas, appelée "Fin", cette dernière étant
susceptible de varier.

Quelqu'un pourrait-il me donner les instructions nécessaires en VBA ?
Et en macro excel 4 ?

Merci d'avance,
Georges

Quelle est la différence entre le pouce et le majeur?
- Eh bien, essayez un peu de faire de l'auto-stop avec le majeur... Vous
verrez bien!

Note : Pour m1écrire directement, supprimer un des deux tirets dans mon
adresse !


--
Cordialement,

Michel Gaboly
http://www.gaboly.com




Georges

Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !


Avatar
Michel Gaboly
De rien, Georges ;-))

Il y a toujours du monde ici,


NB dans la première version de AjoutNom en Excel 4,

ÞFINIR.NOM("ZoneCompte";"=L6C1:L" & LIGNE(!Fin) & "C1")

après

=RETOUR()

est suferflu. C'est un résidu de Copier/Coller pour la suite.



Merci Michel pour ces précieuses info !
Je me demandais si vous étiez connecté aujourd'hui ; j'ai la réponse !

Bien cordialement,

Georges

dans l'article , Michel Gaboly à
a écrit le 8/08/04 17:30 :

Bonjour,

En VBA :

Pour définir la zone :

Sub AjoutNom()
ActiveWorkbook.Names.Add "ZoneCompte", Range(Range("A6"), Range("Fin"))
End Sub


Pour la sélectionner :

Range("ZoneCompte").Select



En macro Excel 4 :


Pour définir la zone :

AjoutNom
ÞFINIR.NOM("ZoneCompte";"=L6C1:Fin")
=RETOUR()
ÞFINIR.NOM("ZoneCompte";"=L6C1:L" & LIGNE(!Fin) & "C1")

Pour la sélectionner :

=SELECTIONNER(!ZoneCompte)


Pour les 2 langages, le code indiqué fonctionne si Fin est une cellule
située en colonne A.

Si Fin couvre plusieurs colonnes, il faut alors utiliser le numéro de
ligne de Fin ou une intersection (à condition que A comporte au moins
une cellule en colonne A).

En VBA

Avec le numéro de ligne :

Sub AjoutNom()
ActiveWorkbook.Names.Add "ZoneCompte", Range(Range("A6"), Range("A" &
Range("Fin").Row))
End Sub

Avec une intersection :

Sub AjoutNom()
ActiveWorkbook.Names.Add "ZoneCompte", Range(Range("A6"), Range("Fin"))
ActiveWorkbook.Names.Add "ZoneCompte", Intersect(Range("ZoneCompte"),
Range("A:A"))
End Sub



En macro Excel 4 :

Avec le numéro de ligne :

AjoutNom
ÞFINIR.NOM("ZoneCompte";"=L6C1:L" & LIGNE(!Fin) & "C1")
=RETOUR()


Avec une intersection :

AjoutNom
ÞFINIR.NOM("ZoneCompte";"=L6C1:Fin C1")
=RETOUR()

NB - En VBA, l'emploi du numéro de ligne est plus concis, alors que c'est le
contraire en Excel 4 : l'emploi de l'opérateur d'intersection (l'espace)
simplifie l'écriture : l'espace se situe entre ""=L6C1:Fin" et "C1" dans

"=L6C1:Fin C1"


Voilà



Bonjour la liste,

Je cherche à définir, par macro, un nom sur une feuille de calcul : je veux
nommer "zonecompte", sur la feuille, une plage Colonne A, entre la ligne 6
et une ligne située plus bas, appelée "Fin", cette dernière étant
susceptible de varier.

Quelqu'un pourrait-il me donner les instructions nécessaires en VBA ?
Et en macro excel 4 ?

Merci d'avance,
Georges

Quelle est la différence entre le pouce et le majeur?
- Eh bien, essayez un peu de faire de l'auto-stop avec le majeur... Vous
verrez bien!

Note : Pour m1écrire directement, supprimer un des deux tirets dans mon
adresse !


--
Cordialement,

Michel Gaboly
http://www.gaboly.com




Georges

Note : Pour m1écrire directement, supprimer un des deux tirets dans mon
adresse !


--
Cordialement,

Michel Gaboly
http://www.gaboly.com