XL 2021 Gestionnaire de noms

RDBAL41

XLDnaute Nouveau
Bonjour à Tous et Toutes,

Est-il possible à partir du gestionnaire de noms de nommer une cellule différente selon plusieurs feuilles d’un classeur sachant que ces cellules sont fusionnées.

Je m’explique : J’ai un classeur (que je ne peux plus modifier l’organisation) avec 14 feuilles où j’indique l’année en cours, actuellement 2023.
Sur 2 feuilles cette année se trouve en cellule B2 et sur les autres en E3.

J’ai nommé les cellule B2 en An. Mais pas les autres, car j’ai dû pour les B2 le faire 2 fois. Je suppose qu’on puisse le faire en une seule fois. Mais je ne sais pas le faire.
Il y a-t-il une solution plus simple pour l’ensemble du classeur.

Actuellement, j’ai simplement utilisé la fonction « copie/collage spécial avec liaison pour changer l’année en une seule fois.
Cela marche très bien mais je voudrais pouvoir à partir d’un seul bouton jumeler 2 macros (la première changement année (avec question à la fin ? Après la confirmation du changement. Voulez mettre à zéro le classeur) et la mise à zéro par le biais de la fonction Call. Ce que je ne peux faire avec la méthode copie/coller.

Merci

RDBAL41
 
Solution
Bonjour Rdbal, et bienvenu sur XLD. Bonjour AtTheOne,
Je pense qu'on peut aussi se passer du gestionnaire de noms en faisant :
VB:
' A modifier. Feuil1 et Feuil2 sont les deux feuilles dont l'année est en B2.
If ActiveSheet.Name <> "Feuil1" And ActiveSheet.Name <> "Feuil2" Then An = [E3] Else An = [B2]
Il lit "An" en E3 sur toutes les feuilles, excepté deux feuilles où il lit "An" en B2.
Merci ...Résolu..

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonjour à toutes & à tous, bonjour @RDBAL41
Dans le gestionnaire de noms lorsque tu choisis Nouveau, tu choisis la portée (par défaut "classeur") en sélectionnant la feuille à laquelle le nom va être associé.
Si tu veux utiliser ce nom ailleurs que dans cette feuille il faudra préfixer le nom par nomdelafeuille!
par exemple =feuil1!année ou =INDIRECT("Feuil1"& "!" & "année")

A bientôt
PS : je suis sur mon téléphone, je ne peux pas fournir d'exemple.
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Rdbal, et bienvenu sur XLD. Bonjour AtTheOne,
Je pense qu'on peut aussi se passer du gestionnaire de noms en faisant :
VB:
' A modifier. Feuil1 et Feuil2 sont les deux feuilles dont l'année est en B2.
If ActiveSheet.Name <> "Feuil1" And ActiveSheet.Name <> "Feuil2" Then An = [E3] Else An = [B2]
Il lit "An" en E3 sur toutes les feuilles, excepté deux feuilles où il lit "An" en B2.
 

RDBAL41

XLDnaute Nouveau
Bonjour Rdbal, et bienvenu sur XLD. Bonjour AtTheOne,
Je pense qu'on peut aussi se passer du gestionnaire de noms en faisant :
VB:
' A modifier. Feuil1 et Feuil2 sont les deux feuilles dont l'année est en B2.
If ActiveSheet.Name <> "Feuil1" And ActiveSheet.Name <> "Feuil2" Then An = [E3] Else An = [B2]
Il lit "An" en E3 sur toutes les feuilles, excepté deux feuilles où il lit "An" en B2.
Bonjour,
Merci,
je vais essayer dans la journée et je reviens. L'idée me parait bonne
@+
Bonjour à toutes & à tous, bonjour @RDBAL41
Dans le gestionnaire de noms lorsque tu choisis Nouveau, tu choisis la portée (par défaut "classeur") en sélectionnant la feuille à laquelle le nom va être associé.
Si tu veux utiliser ce nom ailleurs que dans cette feuille il faudra préfixer le nom par nomdelafeuille!
par exemple =feuil1!année ou =INDIRECT("Feuil1"& "!" & "année")

A bientôt
PS : je suis sur mon téléphone, je ne peux pas fournir d'exemple.
Bonjour AltheOne
Merci
, j'essaie Je ne connaissais pas cette manip. Je regarde
Un exemple me serait sans doute utile afin de voir si j'ai bien compris.
@+
Encore merci à vous 2.
 
Dernière édition:

RDBAL41

XLDnaute Nouveau
Bonjour AtTheOne & Sylvanu

J'ai essayé les 2 solutions, elles fonctionnent à merveilles.

J'ai pris celle de Sylvanu, elle me parait plus simple et permet en cas d'augmentations des feuilles d'être utilisée sans modifications.

Cependant celle de AtTheOne m'a permis de me pencher sur le gestionnaire de noms et je l'a remercie.

Grand merci à vous deux d'avoir prit un peu de temps pour m'aider. J'apprécie.
Bonne journée.
RDBAL41
 

RDBAL41

XLDnaute Nouveau
Bonjour Rdbal, et bienvenu sur XLD. Bonjour AtTheOne,
Je pense qu'on peut aussi se passer du gestionnaire de noms en faisant :
VB:
' A modifier. Feuil1 et Feuil2 sont les deux feuilles dont l'année est en B2.
If ActiveSheet.Name <> "Feuil1" And ActiveSheet.Name <> "Feuil2" Then An = [E3] Else An = [B2]
Il lit "An" en E3 sur toutes les feuilles, excepté deux feuilles où il lit "An" en B2.
Merci ...Résolu..
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
@RDBAL41
Lorsque vous mettez la solution en vert, cela a pour effet de remonter le post juste après votre demande.
( Voir ci dessous )
Cela évite au futur lecteur de lire tout le fil pour avoir la solution retenue.
Donc si vous considérer que c'est le post #2 la solution, c'est ce post qu'il faut valider et non votre réponse.
( Voir ICI pour plus de détail )

1682630707097.png
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 332
Membres
102 864
dernier inscrit
abderrashmaen