OVH Cloud OVH Cloud

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!

4 réponses

1 2
Avatar
eric
Super, ça marche nickel

Merci bcp Mishell

"Mishell" a écrit :


"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
eric
Merci bcp à vous 2 pour votre aide
Les 2 macros fonctionnent très bien

dernière question:
Dans un onglet, je veux définir une zone qui aille de la cellule A1 à la
cellule C(n-1) sachant que dans la cellule An, il est écrit "ZZ STOP"

par exemple si n 1, il y a déjà écrit "ZZ STOP" dans la cellule A201 et je
veux donner un nom à la zone A1:C200

Merci encore

Eric

"Daniel.C" a écrit :

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!
>>
>>


.

Avatar
Daniel.C
Range("A1:C1").Resize(Application.Match("ZZ STOP", _
[A:A], 0) - 1).Name = "toto"
Daniel

Merci bcp à vous 2 pour votre aide
Les 2 macros fonctionnent très bien

dernière question:
Dans un onglet, je veux définir une zone qui aille de la cellule A1 à la
cellule C(n-1) sachant que dans la cellule An, il est écrit "ZZ STOP"

par exemple si n 1, il y a déjà écrit "ZZ STOP" dans la cellule A201 et je
veux donner un nom à la zone A1:C200

Merci encore

Eric

"Daniel.C" a écrit :

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!










.

Avatar
eric
Super

Encore Merci!

"Daniel.C" a écrit :

Range("A1:C1").Resize(Application.Match("ZZ STOP", _
[A:A], 0) - 1).Name = "toto"
Daniel

> Merci bcp à vous 2 pour votre aide
> Les 2 macros fonctionnent très bien
>
> dernière question:
> Dans un onglet, je veux définir une zone qui aille de la cellule A1 à la
> cellule C(n-1) sachant que dans la cellule An, il est écrit "ZZ STOP"
>
> par exemple si n 1, il y a déjà écrit "ZZ STOP" dans la cellule A201 et je
> veux donner un nom à la zone A1:C200
>
> Merci encore
>
> Eric
>
> "Daniel.C" a écrit :
>
>> 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