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

Nommer des cellules dans plusieurs feuilles de calcul

11 réponses
Avatar
Max du Vuache
Bonjour,

Je veux donner le même nom à toutes les feuilles d'un classeur qui ont
toutes la même structure. J'ai suivi l'Aide dans Excel sous le titre "Nommer
des cellules dans plusieurs feuilles de calcul ", aussi appelé noms 3D, mais
ça ne marche pas, une seule feuille est nommée. Pourquoi ?

Y a-t-il un code VBA qui pourrait faire l'affaire ?

Merci de votre aide

Max

10 réponses

1 2
Avatar
AV
| Y a-t-il un code VBA qui pourrait faire l'affaire ?

Pas besoin :
Pour qu'un nom soit relatif à la feuille dans laquelle il est employé :

Insertion > Nom > Définir > Nom dans le classeur : "varA1" > fait référence à :
=INDIRECT("$A$1")
ou ..........=INDIRECT("F1:F10") ou.........

Ceci dit, c'est plutôt une source de confusion et d'ennuis futurs (?) que de
simplification...
A toi de voir

AV
Avatar
Michel Gaboly
Bonjour,

Par défaut les noms créés sont de niveau classeur.

Mais il est également possible de créer des noms de niveau feuille ou se référant à la feuille dans laquelle le nom est
utilisé :

Avec 12 feuilles nommées janvier, février, mars, ...

Avec mars comme feuille active, si tu crées le nom "Brut" dans "Fait ré férence à" :

=Mars!$D$2

tu crées un nom de niveau classeur associé à la celule D2 de la feu ille "mars".

Si tu remplaces "=Mars!D2" par

=!$D$2

le nom, toujours de niveau classeur fait référence à la feuille dan s laquelle il est utilisé : si dans une formule de la
feuille "février" tu utilises Brut, cela fera référence à la cell ule D2 de la feuille "février".

Revenons à la situation initiale : "mars" est la feuille active, créa tion du nom Brut", associé à la cellule D2.

Si dans la zone "Noms dans le classeur", tu remplaces "Brut" par

Mars!Brut

le nom créé est de niveau feuille. Pour y faire référence dans un e autre feuille, il faut utiliser

=Mars!Brut


Cela permet pour un classeur où les 12 feuilles "janvier" à "décemb re" correspondent aux bulletins de salaire d'une
année, de récupérer les données de chacun des mois sur une feuill e Récap

Pour créer les noms de niveau feuille sur les feuilles mensuelles en VB A :

Private Sub NomsNiveauFeuille()
Dim f As Worksheet, w As Workbook
Set w = ThisWorkbook ' ou w = ActiveWorkbook
For Each f In w.Worksheets
f.Names.Add "Brut", f.Range("D2")
f.Names.Add "NepImposable", f.Range("D20")
' ....
Next
End Sub



Bonjour,

Je veux donner le même nom à toutes les feuilles d'un classeur qui ont
toutes la même structure. J'ai suivi l'Aide dans Excel sous le titre "Nommer
des cellules dans plusieurs feuilles de calcul ", aussi appelé noms 3 D, mais
ça ne marche pas, une seule feuille est nommée. Pourquoi ?

Y a-t-il un code VBA qui pourrait faire l'affaire ?

Merci de votre aide

Max





--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
AV
PS : Définir un nom de façon à ce qu'il soit relatif à la feuille dans laquelle
il est employé, avec la méthode :
Insertion --> Nom --> Définir --> Nom dans le classeur..."zz"
Fait référence à : =!$A$1
N'est pas la bonne méthode car il n'y a aucune mise à jour du résultat dans la
cas où le contenu de la(les) cellule(s) source est modifiée
Pour s'en convaincre :
http://cjoint.com/?bho0JGgVNl

AV
Avatar
Max du Vuache
Bonjour Michel,

Merci de ton conseil, ça marche dans mon cas, où j'adresse une cellule par
son nom par VBA, afin de changer sa valeur.
Mais si je supprime ou ajoute une ligne dans la feuille au-dessus de la
cellule nommée, la modification ne se place plus dans la cellule nommée,
mais dans celle d'en bas où d'en haut.
Ce n'est pas le cas dans une cellule nommée dans une seule feuille, je peux
déplacer la cellule nommée où je veux, le nom voyage avec.
Y a-t-il une solution à mon problème ?
Cordialement,
Max

"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Par défaut les noms créés sont de niveau classeur.

Mais il est également possible de créer des noms de niveau feuille ou se
référant à la feuille dans laquelle le nom est
utilisé :

Avec 12 feuilles nommées janvier, février, mars, ...

Avec mars comme feuille active, si tu crées le nom "Brut" dans "Fait
référence à" :

=Mars!$D$2

tu crées un nom de niveau classeur associé à la celule D2 de la feuille
"mars".

Si tu remplaces "=Mars!D2" par

=!$D$2

le nom, toujours de niveau classeur fait référence à la feuille dans
laquelle il est utilisé : si dans une formule de la
feuille "février" tu utilises Brut, cela fera référence à la cellule D2 de
la feuille "février".

Revenons à la situation initiale : "mars" est la feuille active, création du
nom Brut", associé à la cellule D2.

Si dans la zone "Noms dans le classeur", tu remplaces "Brut" par

Mars!Brut

le nom créé est de niveau feuille. Pour y faire référence dans une autre
feuille, il faut utiliser

=Mars!Brut


Cela permet pour un classeur où les 12 feuilles "janvier" à "décembre"
correspondent aux bulletins de salaire d'une
année, de récupérer les données de chacun des mois sur une feuille Récap

Pour créer les noms de niveau feuille sur les feuilles mensuelles en VBA :

Private Sub NomsNiveauFeuille()
Dim f As Worksheet, w As Workbook
Set w = ThisWorkbook ' ou w = ActiveWorkbook
For Each f In w.Worksheets
f.Names.Add "Brut", f.Range("D2")
f.Names.Add "NepImposable", f.Range("D20")
' ....
Next
End Sub



Bonjour,

Je veux donner le même nom à toutes les feuilles d'un classeur qui ont
toutes la même structure. J'ai suivi l'Aide dans Excel sous le titre
"Nommer des cellules dans plusieurs feuilles de calcul ", aussi appelé
noms 3D, mais ça ne marche pas, une seule feuille est nommée. Pourquoi ?

Y a-t-il un code VBA qui pourrait faire l'affaire ?

Merci de votre aide

Max




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Max du Vuache
Bonjour AV,
D'abord merci de ton aide, ce que tu dis ici est vrai, je viens de faire
l'expérience moi-même et j'ai répondu dans ce sens à Michel. Je vais d'abord
voir ce qu'il y a dans ton lien avant de poser peut-être une autre question.
Cordialement
Max

"AV" a écrit dans le message de news:
%
PS : Définir un nom de façon à ce qu'il soit relatif à la feuille dans
laquelle
il est employé, avec la méthode :
Insertion --> Nom --> Définir --> Nom dans le classeur..."zz"
Fait référence à : =!$A$1
N'est pas la bonne méthode car il n'y a aucune mise à jour du résultat
dans la
cas où le contenu de la(les) cellule(s) source est modifiée
Pour s'en convaincre :
http://cjoint.com/?bho0JGgVNl

AV




Avatar
Pounet95
Bonjour Michel, Bonjour Alain ( ...et bonjour Max )
Alain et Michel : comment faites-vous pour traduire que ce sont des cellules
que Max veut nommer
d'un même nom dans plusieurs onglets alors que la question est :
<<Je veux donner le même nom à toutes les feuilles d'un classeur qui ont
toutes la même structure.>>

Vous êtes devins ? ;o)))))

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Max du Vuache" <nospam du a écrit dans le message de
news:
Bonjour,

Je veux donner le même nom à toutes les feuilles d'un classeur qui ont
toutes la même structure. J'ai suivi l'Aide dans Excel sous le titre
"Nommer des cellules dans plusieurs feuilles de calcul ", aussi appelé
noms 3D, mais ça ne marche pas, une seule feuille est nommée. Pourquoi ?

Y a-t-il un code VBA qui pourrait faire l'affaire ?

Merci de votre aide

Max



Avatar
Michel Gaboly
Je n'arrive pas à reproduire le problème que tu évoques ;-((

L'insertion ou la suppression de ligne n'a pas d'incidence atypique dans mes tests.

Peux-tu m'envoyer un exemple ou le mettre sur CJoint ?

PS - Je ne vais pas tarder à sortir et je rentrraitrd. Ne sois donc pas surpris si je ne réagis pas tout de suite.


Bonjour Michel,

Merci de ton conseil, ça marche dans mon cas, où j'adresse une cell ule par
son nom par VBA, afin de changer sa valeur.
Mais si je supprime ou ajoute une ligne dans la feuille au-dessus de la
cellule nommée, la modification ne se place plus dans la cellule nomm ée,
mais dans celle d'en bas où d'en haut.
Ce n'est pas le cas dans une cellule nommée dans une seule feuille, j e peux
déplacer la cellule nommée où je veux, le nom voyage avec.
Y a-t-il une solution à mon problème ?
Cordialement,
Max

"Michel Gaboly" a écrit dans le message de news:

Bonjour,

Par défaut les noms créés sont de niveau classeur.

Mais il est également possible de créer des noms de niveau feuille ou se
référant à la feuille dans laquelle le nom est
utilisé :

Avec 12 feuilles nommées janvier, février, mars, ...

Avec mars comme feuille active, si tu crées le nom "Brut" dans "Fait
référence à" :

=Mars!$D$2

tu crées un nom de niveau classeur associé à la celule D2 de la f euille
"mars".

Si tu remplaces "=Mars!D2" par

=!$D$2

le nom, toujours de niveau classeur fait référence à la feuille d ans
laquelle il est utilisé : si dans une formule de la
feuille "février" tu utilises Brut, cela fera référence à la ce llule D2 de
la feuille "février".

Revenons à la situation initiale : "mars" est la feuille active, cré ation du
nom Brut", associé à la cellule D2.

Si dans la zone "Noms dans le classeur", tu remplaces "Brut" par

Mars!Brut

le nom créé est de niveau feuille. Pour y faire référence dans une autre
feuille, il faut utiliser

=Mars!Brut


Cela permet pour un classeur où les 12 feuilles "janvier" à "déce mbre"
correspondent aux bulletins de salaire d'une
année, de récupérer les données de chacun des mois sur une feui lle Récap

Pour créer les noms de niveau feuille sur les feuilles mensuelles en VBA :

Private Sub NomsNiveauFeuille()
Dim f As Worksheet, w As Workbook
Set w = ThisWorkbook ' ou w = ActiveWorkbook
For Each f In w.Worksheets
f.Names.Add "Brut", f.Range("D2")
f.Names.Add "NepImposable", f.Range("D20")
' ....
Next
End Sub




Bonjour,

Je veux donner le même nom à toutes les feuilles d'un classeur qui ont
toutes la même structure. J'ai suivi l'Aide dans Excel sous le titre
"Nommer des cellules dans plusieurs feuilles de calcul ", aussi appelé
noms 3D, mais ça ne marche pas, une seule feuille est nommée. Pourq uoi ?

Y a-t-il un code VBA qui pourrait faire l'affaire ?

Merci de votre aide

Max








--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
Michel Gaboly
Salut Pounet,

Bien sûr, et tu ne le savais pas. (NB - sans point d'interrogation, bie n sûr) ;-)))


Bonjour Michel, Bonjour Alain ( ...et bonjour Max )
Alain et Michel : comment faites-vous pour traduire que ce sont des
cellules que Max veut nommer
d'un même nom dans plusieurs onglets alors que la question est :
<<Je veux donner le même nom à toutes les feuilles d'un classeur qu i ont
toutes la même structure.>>

Vous êtes devins ? ;o)))))




--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
AV
En parcourant le fil...
L'insertion ou la suppression de ligne est incompatible avec la méthode
utilisant la fonction INDIRECT !
Si tel est le cas, je ne comprends pas l'intérêt d'un nom relatif, mais bon...

AV
Avatar
JB
bonjour,


http://cjoint.com/?bihIWdOpQs

Pour nommer un champ en 3D :

-Sélectionner A2
-Insertion/Nom/définir
-Frapper un nom (qte)
-Cliquer dans référence à
-Appuyer sur Maj
-Cliquer sur juin
=Janvier:Juin!$A$2

Cordialement JB
1 2