OVH Cloud OVH Cloud

Noms multiples

7 réponses
Avatar
Vincent.
Salut =E0 tous et =E0 toutes !
Je viens de d=E9couvrir un ph=E9nom=E8ne assez surprenant sur=20
XL2000. Faites la manip suivante :
- Insertion/Nom/D=E9finir et d=E9finissez dans la feuille=20
Feuil1 la cellule A1 comme 'test'
- Edition/D=E9placer ou Copier une feuille... et copier la=20
Feuil1 dans le m=EAme classeur. La feuille 'Feuil1(2)' est=20
cr=E9=E9e.
- Rentrer la valeur 1 en A1 de Feuil1 et 2 en A1 de Feuil1
(2)
- Rentrer la formule '=3Dtest' en B2 de chacune des feuilles=20
du classeur.
Sur toutes les feuilles autres que Feuil1(2), nous avons 1=20
et en Feuil1(2), nous avons 2.
Autrement dit, un nom unique (en apparence) renvoie =E0 deux=20
cellules diff=E9rentes d'un m=EAme classeur.
Du coup j'ai plusieurs questions :
est-il possible d'=E9viter ce ph=E9nom=E8ne ?
comment sp=E9cifier la feuille pour un nom ?
comment savoir si un nom donn=E9 se retrouve dans plusieurs=20
feuille nd'un m=EAme classeur ?

Merci d'avance =E0 tous ceux z=E9 celles qui voudront bien se=20
pencher sur la question et =E9pancher ma curiosit=E9 !

V.

7 réponses

Avatar
michdenis
Bonjour Vincent,

'---------
est-il possible d'éviter ce phénomène ? Non, Si 2 feuilles ne peuvent pas avoir le même nom, il serait incohérent qu'un
classeur possède un "nom" désignant la même cellule mais de 2 feuilles différents. Lorsque tu effectues ta copies, le
"Nom" devient un "Nom Local" utilisable seulement au niveau de cette feuille. Le Nom de la feuille d'origine conserve
ses propriétés pour toutes les autres feuilles sauf pour la nouvelle feuille où le nom aura propriété si il est inséré
dans une cellule de cette feuille.
'---------

comment spécifier la feuille pour un nom ?

Pour avoir un nom s'appliquant au classeur : tu définis le nom sans ajouter le nom de la feuille devant le nom que tu
choisis.
Pour avoir un nom local au niveau de la feuille seulement, tu insères devant le "nom" le nom de la feuille comme ceci :
Feuil1!Denis avec la référence de la plage voulue.
'---------

comment savoir si un nom donné se retrouve dans plusieurs
feuille nd'un même classeur ?

Pour tous les noms qui représentent une plage de cellules et qui ne sont pas définis avec une formule "Décaler()", les
noms qui sont définis au niveau du classeur s'affiche dans la section extrême gauche de la barre des formules. Les "noms
locaux" s'affichent seulement si la feuille à laquelle ils appartiennent est affichée(feuille active). Sinon tu dois
regarder dans la fenêtre "Créer un nom" pour observer ceux qui ont le nom de la feuille de défini.
'---------


Salutations!




"Vincent." a écrit dans le message de news: a53101c4d61f$67471b20$
Salut à tous et à toutes !
Je viens de découvrir un phénomène assez surprenant sur
XL2000. Faites la manip suivante :
- Insertion/Nom/Définir et définissez dans la feuille
Feuil1 la cellule A1 comme 'test'
- Edition/Déplacer ou Copier une feuille... et copier la
Feuil1 dans le même classeur. La feuille 'Feuil1(2)' est
créée.
- Rentrer la valeur 1 en A1 de Feuil1 et 2 en A1 de Feuil1
(2)
- Rentrer la formule '=test' en B2 de chacune des feuilles
du classeur.
Sur toutes les feuilles autres que Feuil1(2), nous avons 1
et en Feuil1(2), nous avons 2.
Autrement dit, un nom unique (en apparence) renvoie à deux
cellules différentes d'un même classeur.
Du coup j'ai plusieurs questions :
est-il possible d'éviter ce phénomène ?
comment spécifier la feuille pour un nom ?
comment savoir si un nom donné se retrouve dans plusieurs
feuille nd'un même classeur ?

Merci d'avance à tous ceux zé celles qui voudront bien se
pencher sur la question et épancher ma curiosité !

V.
Avatar
AV
Ce que tu décris semble logique (tu fais une copie de feuille)
Si tu veux éviter ce "phénomène"
Insertion > Noms > définir > "test" > fait référence à :
=INDIRECT("Feuil1!$A$1")

AV
Avatar
Vincent.
Merci à tous les deux pour vos explications.
Ma surprise venait essentiellement du fait que je n'ai pas
pu reproduire la création d'un nom local via la commande
Insertion/Nom/Définir. Autrement dit, j'aurai préféré de
très loin qu'Excel me demande au moment de la recopie de
la feuille ce que j'eus voulu faire du nom doublon : le
renommer dans la copie ou le laisser pointer vers la
feuille origine !
Maintenant que vos lumières m'ont éclairé je saurai à quoi
m'en tenir, en évitant notamment la copie de feuille à
laquelle je préférerai l'insertion copier coller...
Une dernière question : est-il posible de supprimer les
noms locaux d'une feuille de manière automatique (avec ou
sans macro) ?
Encore merci !
A+

V.

-----Message d'origine-----
Bonjour Vincent,

'---------
est-il possible d'éviter ce phénomène ? Non, Si 2
feuilles ne peuvent pas avoir le même nom, il serait

incohérent qu'un
classeur possède un "nom" désignant la même cellule mais
de 2 feuilles différents. Lorsque tu effectues ta copies,

le
"Nom" devient un "Nom Local" utilisable seulement au
niveau de cette feuille. Le Nom de la feuille d'origine

conserve
ses propriétés pour toutes les autres feuilles sauf pour
la nouvelle feuille où le nom aura propriété si il est

inséré
dans une cellule de cette feuille.
'---------

comment spécifier la feuille pour un nom ?

Pour avoir un nom s'appliquant au classeur : tu définis
le nom sans ajouter le nom de la feuille devant le nom que

tu
choisis.
Pour avoir un nom local au niveau de la feuille
seulement, tu insères devant le "nom" le nom de la feuille

comme ceci :
Feuil1!Denis avec la référence de la plage voulue.
'---------

comment savoir si un nom donné se retrouve dans plusieurs
feuille nd'un même classeur ?

Pour tous les noms qui représentent une plage de cellules
et qui ne sont pas définis avec une formule "Décaler()",

les
noms qui sont définis au niveau du classeur s'affiche
dans la section extrême gauche de la barre des formules.

Les "noms
locaux" s'affichent seulement si la feuille à laquelle
ils appartiennent est affichée(feuille active). Sinon tu

dois
regarder dans la fenêtre "Créer un nom" pour observer
ceux qui ont le nom de la feuille de défini.

'---------


Salutations!




"Vincent." a écrit
dans le message de news: a53101c4d61f$67471b20

$
Salut à tous et à toutes !
Je viens de découvrir un phénomène assez surprenant sur
XL2000. Faites la manip suivante :
- Insertion/Nom/Définir et définissez dans la feuille
Feuil1 la cellule A1 comme 'test'
- Edition/Déplacer ou Copier une feuille... et copier la
Feuil1 dans le même classeur. La feuille 'Feuil1(2)' est
créée.
- Rentrer la valeur 1 en A1 de Feuil1 et 2 en A1 de Feuil1
(2)
- Rentrer la formule '=test' en B2 de chacune des feuilles
du classeur.
Sur toutes les feuilles autres que Feuil1(2), nous avons 1
et en Feuil1(2), nous avons 2.
Autrement dit, un nom unique (en apparence) renvoie à deux
cellules différentes d'un même classeur.
Du coup j'ai plusieurs questions :
est-il possible d'éviter ce phénomène ?
comment spécifier la feuille pour un nom ?
comment savoir si un nom donné se retrouve dans plusieurs
feuille nd'un même classeur ?

Merci d'avance à tous ceux zé celles qui voudront bien se
pencher sur la question et épancher ma curiosité !

V.


.



Avatar
michdenis
Bonjour Vincent,

"supprimer les noms locaux d'une feuille de manière automatique "

Cette macro, détruit tous les "Noms Locaux" de la feuille active.
La fonction Split requiert une version Excel 2000 ou plus récent.
'--------------------
Sub Détruire_Nom_Feuille_Active()

For Each n In Names
If Split(n.Name, "!")(0) = ActiveSheet.Name Then
n.Delete
End If
Next

End Sub
'--------------------


Salutations!


"Vincent." a écrit dans le message de news: 9b4001c4d626$68178650$
Merci à tous les deux pour vos explications.
Ma surprise venait essentiellement du fait que je n'ai pas
pu reproduire la création d'un nom local via la commande
Insertion/Nom/Définir. Autrement dit, j'aurai préféré de
très loin qu'Excel me demande au moment de la recopie de
la feuille ce que j'eus voulu faire du nom doublon : le
renommer dans la copie ou le laisser pointer vers la
feuille origine !
Maintenant que vos lumières m'ont éclairé je saurai à quoi
m'en tenir, en évitant notamment la copie de feuille à
laquelle je préférerai l'insertion copier coller...
Une dernière question : est-il posible de supprimer les
noms locaux d'une feuille de manière automatique (avec ou
sans macro) ?
Encore merci !
A+

V.

-----Message d'origine-----
Bonjour Vincent,

'---------
est-il possible d'éviter ce phénomène ? Non, Si 2
feuilles ne peuvent pas avoir le même nom, il serait

incohérent qu'un
classeur possède un "nom" désignant la même cellule mais
de 2 feuilles différents. Lorsque tu effectues ta copies,

le
"Nom" devient un "Nom Local" utilisable seulement au
niveau de cette feuille. Le Nom de la feuille d'origine

conserve
ses propriétés pour toutes les autres feuilles sauf pour
la nouvelle feuille où le nom aura propriété si il est

inséré
dans une cellule de cette feuille.
'---------

comment spécifier la feuille pour un nom ?

Pour avoir un nom s'appliquant au classeur : tu définis
le nom sans ajouter le nom de la feuille devant le nom que

tu
choisis.
Pour avoir un nom local au niveau de la feuille
seulement, tu insères devant le "nom" le nom de la feuille

comme ceci :
Feuil1!Denis avec la référence de la plage voulue.
'---------

comment savoir si un nom donné se retrouve dans plusieurs
feuille nd'un même classeur ?

Pour tous les noms qui représentent une plage de cellules
et qui ne sont pas définis avec une formule "Décaler()",

les
noms qui sont définis au niveau du classeur s'affiche
dans la section extrême gauche de la barre des formules.

Les "noms
locaux" s'affichent seulement si la feuille à laquelle
ils appartiennent est affichée(feuille active). Sinon tu

dois
regarder dans la fenêtre "Créer un nom" pour observer
ceux qui ont le nom de la feuille de défini.

'---------


Salutations!




"Vincent." a écrit
dans le message de news: a53101c4d61f$67471b20

$
Salut à tous et à toutes !
Je viens de découvrir un phénomène assez surprenant sur
XL2000. Faites la manip suivante :
- Insertion/Nom/Définir et définissez dans la feuille
Feuil1 la cellule A1 comme 'test'
- Edition/Déplacer ou Copier une feuille... et copier la
Feuil1 dans le même classeur. La feuille 'Feuil1(2)' est
créée.
- Rentrer la valeur 1 en A1 de Feuil1 et 2 en A1 de Feuil1
(2)
- Rentrer la formule '=test' en B2 de chacune des feuilles
du classeur.
Sur toutes les feuilles autres que Feuil1(2), nous avons 1
et en Feuil1(2), nous avons 2.
Autrement dit, un nom unique (en apparence) renvoie à deux
cellules différentes d'un même classeur.
Du coup j'ai plusieurs questions :
est-il possible d'éviter ce phénomène ?
comment spécifier la feuille pour un nom ?
comment savoir si un nom donné se retrouve dans plusieurs
feuille nd'un même classeur ?

Merci d'avance à tous ceux zé celles qui voudront bien se
pencher sur la question et épancher ma curiosité !

V.


.



Avatar
YannX
Bnsr,

pour bien comprendre :
n'est-ce pas simplement un nom de zone "épaisse",
c'est à dire dan sla troisième dimension.

Autre façon de faire la meme chose :
Selectionner Feuille 1 ET feuille 2
insertion / Nom / definir

C'est OK ou bien j'ai tou faux et je me tais-Tout !
merci de vos éclairs
yannX

"AV" a écrit dans le message de
news:%
Ce que tu décris semble logique (tu fais une copie de feuille)
Si tu veux éviter ce "phénomène"
Insertion > Noms > définir > "test" > fait référence à :
=INDIRECT("Feuil1!$A$1")

AV




Avatar
AV
Autre façon de faire la meme chose :
Selectionner Feuille 1 ET feuille 2
insertion / Nom / definir


C'est justement ce que le demandeur ne veut pas !
La manip (qui engendre le problème) décrite par le demandeur est une copie de
feuille comportant un nom local
Si à partir de de "Feuil1" tu définis un nom de la façon suivante :
þuil1!$A$1
il s'agit en fait d'une référence 3D en partie relative (mixte) :
La référence de la cellule $A$1 est absolue et donc ne bougera pas en cas de
copie mais le nom de la feuille est relatif est donc sera modifié si copie de la
feuille ou si on la renomme
La solution de passer par la fonction INDIRECT permet d'écrire un réf 3D absolue

AV

Avatar
Alain CROS
Bonjour

Sub Détruire_Nom_Feuille_Active()
Dim N As Name
For Each N In ActiveSheet.Names
N.Delete
Next
End Sub

Alain CROS

"Vincent." a écrit dans le message de news: 9b4001c4d626$68178650$
Une dernière question : est-il posible de supprimer les
noms locaux d'une feuille de manière automatique (avec ou
sans macro) ?
Encore merci !
A+

V.