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

slection zone dans macro

14 réponses
Avatar
eric
bonsoir

j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes peut
varier) d'un onglet vers un autre onglet.

Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a été
ajoutée mais je n'y arrive pas car au lieu de donner un nom à la zone, qui
est selectionnée et qui peut varier en nombre de lignes, Excel donne le nom
en faisant référence à la plage sous la forme (par ex) A4:D8, et non à ce qui
est vraiment selectionné ce qui ne me convient pas.

Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage intitulée
ZONE1
Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée dans
l'onglet 2, NZONE1.

Voila, j'espère que c'est peu près clair

Merci d'avance!

10 réponses

1 2
Avatar
Mishell
Bonsoir.
Voici comment copier le champ et lui donner sur la feuille destination le
même nom ou un nom différent.

Sub CopierCollerChamp()

Set fOrigine = Sheets("Feuil1")
Set fDestination = Sheets("Feuil2")
nomOrigine = "ZONE1"
nomDestination = "ZONE1" ' ou bien "NZONE1"

haut = fOrigine.Range(nomOrigine).Rows.Count
Large = fOrigine.Range(nomOrigine).Columns.Count

r = 10
c = 5

fOrigine.Range(nomOrigine).Copy fDestination.Cells(r, c)

AddressDestination = Cells(r, c).Offset(0, 0).Resize(haut, Large).Address


Call NommerChampDestination(fOrigine.Name, nomOrigine, nomDestination,
fDestination.Name, AddressDestination)


fDestination.Select
fDestination.Range(nomDestination).Select

End Sub

Sub NommerChampDestination(feuilleOrigine, nomOrigine, nomDestination,
FeuilleDestination, AddressDestination)

feuilleDest = FeuilleDestination & "!"

destNom = feuilleDest & nomDestination
destAddress = "=" & feuilleDest & AddressDestination

ActiveWorkbook.Names.Add Name:ÞstNom, RefersTo:ÞstAddress

End Sub

Mishell

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

bonsoir

j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes peut
varier) d'un onglet vers un autre onglet.

Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a été
ajoutée mais je n'y arrive pas car au lieu de donner un nom à la zone, qui
est selectionnée et qui peut varier en nombre de lignes, Excel donne le
nom
en faisant référence à la plage sous la forme (par ex) A4:D8, et non à ce
qui
est vraiment selectionné ce qui ne me convient pas.

Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage intitulée
ZONE1
Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée dans
l'onglet 2, NZONE1.

Voila, j'espère que c'est peu près clair

Merci d'avance!


Avatar
eric
merci,
mais quand j'essaye la macro, j'ai les lignes suivantes qui s'affichent en
rouge et un message d'erreur de syntaxe

Call NommerChampDestination(fOrigine.Name, nomOrigine, nomDestination,
fDestination.Name, AddressDestination)


et


Sub NommerChampDestination(feuilleOrigine, nomOrigine, nomDestination,
FeuilleDestination, AddressDestination)

Je ne sais pas d'où ça vient.

Merci d'avance,

eric
"Mishell" a écrit :

Bonsoir.
Voici comment copier le champ et lui donner sur la feuille destination le
même nom ou un nom différent.

Sub CopierCollerChamp()

Set fOrigine = Sheets("Feuil1")
Set fDestination = Sheets("Feuil2")
nomOrigine = "ZONE1"
nomDestination = "ZONE1" ' ou bien "NZONE1"

haut = fOrigine.Range(nomOrigine).Rows.Count
Large = fOrigine.Range(nomOrigine).Columns.Count

r = 10
c = 5

fOrigine.Range(nomOrigine).Copy fDestination.Cells(r, c)

AddressDestination = Cells(r, c).Offset(0, 0).Resize(haut, Large).Address


Call NommerChampDestination(fOrigine.Name, nomOrigine, nomDestination,
fDestination.Name, AddressDestination)


fDestination.Select
fDestination.Range(nomDestination).Select

End Sub

Sub NommerChampDestination(feuilleOrigine, nomOrigine, nomDestination,
FeuilleDestination, AddressDestination)

feuilleDest = FeuilleDestination & "!"

destNom = feuilleDest & nomDestination
destAddress = "=" & feuilleDest & AddressDestination

ActiveWorkbook.Names.Add Name:ÞstNom, RefersTo:ÞstAddress

End Sub

Mishell

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

> bonsoir
>
> j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes peut
> varier) d'un onglet vers un autre onglet.
>
> Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a été
> ajoutée mais je n'y arrive pas car au lieu de donner un nom à la zone, qui
> est selectionnée et qui peut varier en nombre de lignes, Excel donne le
> nom
> en faisant référence à la plage sous la forme (par ex) A4:D8, et non à ce
> qui
> est vraiment selectionné ce qui ne me convient pas.
>
> Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage intitulée
> ZONE1
> Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée dans
> l'onglet 2, NZONE1.
>
> Voila, j'espère que c'est peu près clair
>
> Merci d'avance!
>
>


.

Avatar
Daniel.C
Bonjour.
Est-ce que :

ActiveWorkbook.Names.Add "NZONE1", _
RefersTo:="Feuil2!" & [ZONE1].Address

ferait l'affaire ?
Cordialement.
Daniel

bonsoir

j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes peut
varier) d'un onglet vers un autre onglet.

Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a été
ajoutée mais je n'y arrive pas car au lieu de donner un nom à la zone, qui
est selectionnée et qui peut varier en nombre de lignes, Excel donne le nom
en faisant référence à la plage sous la forme (par ex) A4:D8, et non à ce qui
est vraiment selectionné ce qui ne me convient pas.

Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage intitulée
ZONE1
Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée dans
l'onglet 2, NZONE1.

Voila, j'espère que c'est peu près clair

Merci d'avance!
Avatar
eric
Merci daniel,

j'ai testé cela sur une macro très simple qui est la suivante mais cela n'a
pas réussi:

Sub Macro5()
'
' Macro5 Macro
'
Application.Goto Reference:="ZONE1"
Selection.Copy
Sheets("Feuil2").Select
Range("B6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Names.Add "NZONE1", RefersTo:="Feuil2!" & [ZONE1].Address
Range("A1").Select
End Sub


La macro tourne sans message d'erreur mais la zone NZONE1 n'est pas crée.

Merci d'avance,

Eric

"Daniel.C" a écrit :

Bonjour.
Est-ce que :

ActiveWorkbook.Names.Add "NZONE1", _
RefersTo:="Feuil2!" & [ZONE1].Address

ferait l'affaire ?
Cordialement.
Daniel

> bonsoir
>
> j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes peut
> varier) d'un onglet vers un autre onglet.
>
> Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a été
> ajoutée mais je n'y arrive pas car au lieu de donner un nom à la zone, qui
> est selectionnée et qui peut varier en nombre de lignes, Excel donne le nom
> en faisant référence à la plage sous la forme (par ex) A4:D8, et non à ce qui
> est vraiment selectionné ce qui ne me convient pas.
>
> Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage intitulée
> ZONE1
> Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée dans
> l'onglet 2, NZONE1.
>
> Voila, j'espère que c'est peu près clair
>
> Merci d'avance!


.

Avatar
Daniel.C
Tu dois avoir une feuille nommée "Feuil2" et une plage nommée "ZONE1.
Sinon quelle est l'erreur ?
Daniel

Merci daniel,

j'ai testé cela sur une macro très simple qui est la suivante mais cela n'a
pas réussi:

Sub Macro5()
'
' Macro5 Macro
'
Application.Goto Reference:="ZONE1"
Selection.Copy
Sheets("Feuil2").Select
Range("B6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Names.Add "NZONE1", RefersTo:="Feuil2!" & [ZONE1].Address
Range("A1").Select
End Sub


La macro tourne sans message d'erreur mais la zone NZONE1 n'est pas crée.

Merci d'avance,

Eric

"Daniel.C" a écrit :

Bonjour.
Est-ce que :

ActiveWorkbook.Names.Add "NZONE1", _
RefersTo:="Feuil2!" & [ZONE1].Address

ferait l'affaire ?
Cordialement.
Daniel

bonsoir

j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes peut
varier) d'un onglet vers un autre onglet.

Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a été
ajoutée mais je n'y arrive pas car au lieu de donner un nom à la zone, qui
est selectionnée et qui peut varier en nombre de lignes, Excel donne le nom
en faisant référence à la plage sous la forme (par ex) A4:D8, et non à ce
qui est vraiment selectionné ce qui ne me convient pas.

Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage intitulée
ZONE1
Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée dans
l'onglet 2, NZONE1.

Voila, j'espère que c'est peu près clair

Merci d'avance!




.

Avatar
eric
en fait, je pense que mes noms de zones et plages sont ok mais je ne comprend
pas ce qui se passe

ci-dessous un lien pour ouvrir mon fichier excel test

https://fts.eiffage.com/receive.cgi?148529-eric+736kk8p3

Merci beaucoup

Eric

"Daniel.C" a écrit :

Tu dois avoir une feuille nommée "Feuil2" et une plage nommée "ZONE1.
Sinon quelle est l'erreur ?
Daniel

> Merci daniel,
>
> j'ai testé cela sur une macro très simple qui est la suivante mais cela n'a
> pas réussi:
>
> Sub Macro5()
> '
> ' Macro5 Macro
> '
> Application.Goto Reference:="ZONE1"
> Selection.Copy
> Sheets("Feuil2").Select
> Range("B6").Select
> ActiveSheet.Paste
> Application.CutCopyMode = False
> ActiveWorkbook.Names.Add "NZONE1", RefersTo:="Feuil2!" & [ZONE1].Address
> Range("A1").Select
> End Sub
>
>
> La macro tourne sans message d'erreur mais la zone NZONE1 n'est pas crée.
>
> Merci d'avance,
>
> Eric
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> Est-ce que :
>>
>> ActiveWorkbook.Names.Add "NZONE1", _
>> RefersTo:="Feuil2!" & [ZONE1].Address
>>
>> ferait l'affaire ?
>> Cordialement.
>> Daniel
>>
>>> bonsoir
>>>
>>> j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes peut
>>> varier) d'un onglet vers un autre onglet.
>>>
>>> Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a été
>>> ajoutée mais je n'y arrive pas car au lieu de donner un nom à la zone, qui
>>> est selectionnée et qui peut varier en nombre de lignes, Excel donne le nom
>>> en faisant référence à la plage sous la forme (par ex) A4:D8, et non à ce
>>> qui est vraiment selectionné ce qui ne me convient pas.
>>>
>>> Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage intitulée
>>> ZONE1
>>> Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée dans
>>> l'onglet 2, NZONE1.
>>>
>>> Voila, j'espère que c'est peu près clair
>>>
>>> Merci d'avance!
>>
>>
>> .
>>


.

Avatar
Mishell
"eric" a écrit dans le message de news:

merci,
mais quand j'essaye la macro, j'ai les lignes suivantes qui s'affichent en
rouge et un message d'erreur de syntaxe

Call NommerChampDestination(fOrigine.Name, nomOrigine, nomDestination,
fDestination.Name, AddressDestination)


et


Sub NommerChampDestination(feuilleOrigine, nomOrigine, nomDestination,
FeuilleDestination, AddressDestination)



Ces 2 lignes doivent n'en former qu'une. La ligne d'origine a été divisée en
2 lignes par ton programme de messagerie qui la jugeait trop longue. C'est à
toi de corriger l'erreur en remettant tout sur une seule ligne.



Je ne sais pas d'où ça vient.

Merci d'avance,

eric
"Mishell" a écrit :

Bonsoir.
Voici comment copier le champ et lui donner sur la feuille destination le
même nom ou un nom différent.

Sub CopierCollerChamp()

Set fOrigine = Sheets("Feuil1")
Set fDestination = Sheets("Feuil2")
nomOrigine = "ZONE1"
nomDestination = "ZONE1" ' ou bien "NZONE1"

haut = fOrigine.Range(nomOrigine).Rows.Count
Large = fOrigine.Range(nomOrigine).Columns.Count

r = 10
c = 5

fOrigine.Range(nomOrigine).Copy fDestination.Cells(r, c)

AddressDestination = Cells(r, c).Offset(0, 0).Resize(haut, Large).Address


Call NommerChampDestination(fOrigine.Name, nomOrigine, nomDestination,
fDestination.Name, AddressDestination)


fDestination.Select
fDestination.Range(nomDestination).Select

End Sub

Sub NommerChampDestination(feuilleOrigine, nomOrigine, nomDestination,
FeuilleDestination, AddressDestination)

feuilleDest = FeuilleDestination & "!"

destNom = feuilleDest & nomDestination
destAddress = "=" & feuilleDest & AddressDestination

ActiveWorkbook.Names.Add Name:ÞstNom, RefersTo:ÞstAddress

End Sub

Mishell

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

> bonsoir
>
> j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes
> peut
> varier) d'un onglet vers un autre onglet.
>
> Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a
> été
> ajoutée mais je n'y arrive pas car au lieu de donner un nom à la zone,
> qui
> est selectionnée et qui peut varier en nombre de lignes, Excel donne le
> nom
> en faisant référence à la plage sous la forme (par ex) A4:D8, et non à
> ce
> qui
> est vraiment selectionné ce qui ne me convient pas.
>
> Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage
> intitulée
> ZONE1
> Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée
> dans
> l'onglet 2, NZONE1.
>
> Voila, j'espère que c'est peu près clair
>
> Merci d'avance!
>
>


.

Avatar
Daniel.C
Ca fonctionne chez moi. Tu peux aussi utiliser :
Sheets("Feuil2").Range([ZONE1].Address).Name = "NZONE1"
Daniel

en fait, je pense que mes noms de zones et plages sont ok mais je ne comprend
pas ce qui se passe

ci-dessous un lien pour ouvrir mon fichier excel test

https://fts.eiffage.com/receive.cgi?148529-eric+736kk8p3

Merci beaucoup

Eric

"Daniel.C" a écrit :

Tu dois avoir une feuille nommée "Feuil2" et une plage nommée "ZONE1.
Sinon quelle est l'erreur ?
Daniel

Merci daniel,

j'ai testé cela sur une macro très simple qui est la suivante mais cela n'a
pas réussi:

Sub Macro5()
'
' Macro5 Macro
'
Application.Goto Reference:="ZONE1"
Selection.Copy
Sheets("Feuil2").Select
Range("B6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Names.Add "NZONE1", RefersTo:="Feuil2!" &
[ZONE1].Address Range("A1").Select
End Sub


La macro tourne sans message d'erreur mais la zone NZONE1 n'est pas crée.

Merci d'avance,

Eric

"Daniel.C" a écrit :

Bonjour.
Est-ce que :

ActiveWorkbook.Names.Add "NZONE1", _
RefersTo:="Feuil2!" & [ZONE1].Address

ferait l'affaire ?
Cordialement.
Daniel

bonsoir

j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes
peut varier) d'un onglet vers un autre onglet.

Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a
été ajoutée mais je n'y arrive pas car au lieu de donner un nom à la
zone, qui est selectionnée et qui peut varier en nombre de lignes, Excel
donne le nom en faisant référence à la plage sous la forme (par ex)
A4:D8, et non à ce qui est vraiment selectionné ce qui ne me convient
pas.

Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage
intitulée ZONE1
Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée dans
l'onglet 2, NZONE1.

Voila, j'espère que c'est peu près clair

Merci d'avance!




.







.

Avatar
Mishell
Tu as oublié le caractère "=" au début de la formule:
RefersTo:="Feuil2!" & [ZONE1].Address

Essaie
RefersTo:="þuil2!" & [ZONE1].Address

Mishell


"Daniel.C" a écrit dans le message de news:
eXva$
Bonjour.
Est-ce que :

ActiveWorkbook.Names.Add "NZONE1", _
RefersTo:="Feuil2!" & [ZONE1].Address

ferait l'affaire ?
Cordialement.
Daniel

bonsoir

j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes
peut varier) d'un onglet vers un autre onglet.

Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a
été ajoutée mais je n'y arrive pas car au lieu de donner un nom à la
zone, qui est selectionnée et qui peut varier en nombre de lignes, Excel
donne le nom en faisant référence à la plage sous la forme (par ex)
A4:D8, et non à ce qui est vraiment selectionné ce qui ne me convient
pas.

Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage
intitulée ZONE1 Je veux copier dans l'onglet 2 cette ZONE1 et nommer la
zone copiée dans l'onglet 2, NZONE1.

Voila, j'espère que c'est peu près clair

Merci d'avance!




Avatar
Daniel.C
Bien vu. Ca m'apprendra à tester !
Daniel

Tu as oublié le caractère "=" au début de la formule:
RefersTo:="Feuil2!" & [ZONE1].Address

Essaie
RefersTo:="þuil2!" & [ZONE1].Address

Mishell


"Daniel.C" a écrit dans le message de news:
eXva$
Bonjour.
Est-ce que :

ActiveWorkbook.Names.Add "NZONE1", _
RefersTo:="Feuil2!" & [ZONE1].Address

ferait l'affaire ?
Cordialement.
Daniel

bonsoir

j'ai une macro qui entre autres, copie une Zone (dont le nb de lignes peut
varier) d'un onglet vers un autre onglet.

Ensuite, je veux dans mon nouvel onglet, donner un nom à la zone qui a été
ajoutée mais je n'y arrive pas car au lieu de donner un nom à la zone, qui
est selectionnée et qui peut varier en nombre de lignes, Excel donne le
nom en faisant référence à la plage sous la forme (par ex) A4:D8, et non à
ce qui est vraiment selectionné ce qui ne me convient pas.

Pour être plus clair, mettons que j'ai dans l'onglet 1 une plage intitulée
ZONE1 Je veux copier dans l'onglet 2 cette ZONE1 et nommer la zone copiée
dans l'onglet 2, NZONE1.

Voila, j'espère que c'est peu près clair

Merci d'avance!




1 2