Nom valide pour chaque feuille de mon classeur
Le
magic-dd

Bonjour
Je possède un classeur avec 35 feuilles construites à l'identique.
Dans le but de créer des graphiques sur chaque feuille j'ai voulu attribu=
er des noms pour mes données de graphique.
Celles ci ne sont malheureusement pas valable pour fonctionner avec chaque =
feuille.
Comment remédier à cela.
Pour exemple.
Distribué fait référence à : =decaler(feuil1!b31;nbval(feuil1!a:a=
)-12;0;12)
Dans mes graphiques des feuilles 1 à 35 j'aimerai que le nom "distribué=
" fasse référence à la bonne feuille et non à la feuil1.
Merci de votre aide.
Je possède un classeur avec 35 feuilles construites à l'identique.
Dans le but de créer des graphiques sur chaque feuille j'ai voulu attribu=
er des noms pour mes données de graphique.
Celles ci ne sont malheureusement pas valable pour fonctionner avec chaque =
feuille.
Comment remédier à cela.
Pour exemple.
Distribué fait référence à : =decaler(feuil1!b31;nbval(feuil1!a:a=
)-12;0;12)
Dans mes graphiques des feuilles 1 à 35 j'aimerai que le nom "distribué=
" fasse référence à la bonne feuille et non à la feuil1.
Merci de votre aide.
Tu dois définir 35 fois le nom "distribué" en indiquant dans le cadre
"zone" que la feuille concernée. Ensuite, ppour l'utiliser, tu
indiqueras la feuille :
Feuil1!distribué
Cordialement.
Daniel
Dans mon gestionnaire de noms j'aurais 35 fois le nom distribué mais dans la formule je change que le nom de la feuille.
Ne pourrais je pas faire référence à une cellule d'une autre feuille ayant cette formule?
DECALER(INDIRECT($C$1&"!B31");NBVAL(Feuil1!A:A)-12;0;12))
pour définir distribué.
Daniel
Car en plus dans la formule tu reprends le feuil1 dans le nbval.
Peux tu me redonner la syntaxe exacte stp.
Le pire c'est que lorsque je rentre la
Formule dans le gestionnaire de nom il me met automatiquement le nom de la feuille avant le décaler.
nom. Excel réintroduit automatiqquement le nom de la feuille.
Daniel
je suis donc obligé de creer autant de nom que de feuilles
ca ne va pas m'arranger tout ça
Le vendredi 31 mai 2013 15:53:06 UTC+2, DanielCo a écrit :
Une macro qui récupère le nom de la feuille ?
ActiveSheet.Name dans un Worksheet_Activate()
Et tu reconstruit avec un FormulaLocal la cellule contenant
Þcaler(feuil1!b31;nbval(feuil1!a:a)-12;0;12)
en remplacant feuil1!B3 par
Þcaler(VARIABLE!b31;nbval(VARIABLE!a:a)-12;0;12) en remplacant
VARIABLE!B3
merci de ta contribution
mais ce que tu appelle VARIABLE cela correspond a quoi?
à la recuperation de nom de feuille dans le worksheet activate ?
car j'aimerai que ce nom ne soit pas defini uniquement par une selection de feuille
car en fait mes graphiques sont collés avec liaison dans un ppt, donc pou r mettre à jour celui ci il faudrait que j'affiche chaque feuille pour va lider cette fameuse VARIABLE
quid ??
Le vendredi 31 mai 2013 09:32:19 UTC+2, magic-dd a écrit :
A=2
RangeFeuil = range("A1:B25")
NomDeLaFeuilleActive = activeworsheet.name
quand tu navigues entre les feuilles, la feuille active est mise à
jour par une macro dans worksheet_activate.
Tu complique les choses. Je ne peux pas encore te répondre. Dans
quelques mois peut être quand mon niveau aura progressé.
Je ne sais pas comment fonctionnent les lien xls-ppt, mais tu peux
déplacer de worksheet_activate à une fonction qui s'active quand tu
ouvre le classeur. Peut être dans ThisWorkbook.
Pour limiter les problèmes, tu devrais voir autrement.
Pourquoi ne pas utiliser une cellule pour y mettre le nom de la
feuille ? Tu le fais une seule fois par feuille et de temps en temps
peut être quand tu en ajoute.
Tu perdra moins de temps à "renommer" avec le click de la souris +
copier + coller dans la cellule de la feuille active. Et cela 35x
Pour simplifier, tu lance une macro en faisant cette manip sur la
première feuille et tu la relance sur les 34 suivantes en appyant sur
CTRL+Y (répéter dernière action)
En une ligne :
ActiveSheet.Range("A1").Value = ActiveSheet.Name
Tu la lance une fois, tu change de feuille puis CTRL+Y, puis tu change
encore de feuille puis CTRL+Y.....
ÞCALER(INDIRECT($C$1&"!B31");NBVAL(INDIRECT($C$1&"!A:A"))-12;0;12)
isabelle
Le 2013-05-31 16:00, magic-dd a écrit :