Extraire le nom d'une feuille

Résolu/Fermé
Melissa - 21 oct. 2020 à 12:17
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020 - 28 oct. 2020 à 09:41
Bonjour,

J'ai une petite question,

J'ai un fichier avec un onglet par mois intitulé comme cela " 01 " "02" "03" etc
sur la feuille 03 je souhaiterai récupérer la cellule B2 de la feuille 02.
Sur la feuille 03 dans une cellule on va dire C3 j'ai mis cette formule

=+DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1);1))-1

Elle me permet d'aller recuperer le nom de ma feuille 03-1 donc 02.
ensuite dans une autre cellule je mets cette formule

=+INDIRECT("'"&$C$3&"'!B2")

afin d'aller recuperer la cellule B2 de ma feuille intitulée comme la cellule C3.

J'espere que je suis claire.
Mon probleme c'est que si j'intitule ma feuille 02, cela ne marche pas, si je l'intitule 2 ça marche.
Je n'arrive pas a modifier mes formules.
Et j'aimerai que cela marche même quand c'est du texte.
Par exemple si ma feuille ne s'appelait pas 01 ou 02, mais janvier Fevrier comment je pourrais faire.
Merci de votre aide, et j'espere que j'ai été claire. sinon je ferai un petit tableau en exemple

Configuration: Windows / Chrome 69.0.3497.100

31 réponses

Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
21 oct. 2020 à 17:29
Re,

regarde ton fichier onglet 03 ligne 113

https://www.cjoint.com/c/JJvpDh5VZQc
1
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
22 oct. 2020 à 10:11
Re,

ta demande était pertinente, si tu estimes ta demande résolue, confirme le moi que je passe le statut en résolu afin qu'elle serve de support
1
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
21 oct. 2020 à 12:31
Bonjour,

pas sur d'avoir bien compris ta demande, essaye comme cela

=TEXTE(DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1);1))-1;"00")

et
=INDIRECT("'"&$C$3&"'!B2")
0
non ça ne marche pas, il met met un message d'erreur
"Nous avons rencontré une erreur"

Je mets mon tableau en exemple, je mets en jaune les cases que j'aimerai modifier.
Merci
0
Je pense que le problème vient de ma formule indirect
il reconnait le 2 mais pas le 02.
Je pense qu'il y un truc a modifier mais quoi aucune idee
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
Modifié le 21 oct. 2020 à 12:43
Re,

pourquoi tantôt tu as 02 ou 2

essaye comme cela
=INDIRECT("'"&DROITE($C$3;1)&"'!B2")

et pour traiter les deux possibilités
=SIERREUR(INDIRECT("'"&$C$3&"'!B2");INDIRECT("'"&DROITE($C$3;1)&"'!B2"))

0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
21 oct. 2020 à 12:46
non justement j'aimerai nommer mes feuille 02 - 03 - 04
et si je les nomme comme ca
les deux formules ne marchent pas, enfin l'indirect
alors que si je les nomme 2 - 3 4 ça marche
Je peux joindre un fichier dans la conversation ou pas ?
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
21 oct. 2020 à 12:53
Re,

bizarre parce que j'ai fait le test et pas de problème, il doit certainement y avoir des espaces qui trainent
pour joindre ton fichier anonymisé, clic sur ce lien/sélectionne ton fichier/Créer le lien/colle le lien généré dans ta réponse

https://www.cjoint.com/
0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
21 oct. 2020 à 12:56
ok c'est fait
il faut voir la feuille 03. J'ai mis un commentaire.
Milles merci du temps que tu prends
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
Modifié le 21 oct. 2020 à 13:16
Re,

mais tu n'as pas collé le lien généré dans ta réponse
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Il existe aussi :
1) https://mon-partage.fr/
0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
21 oct. 2020 à 14:07
https://www.cjoint.com/c/JJvmgl3ZGwK

JJvmgl3ZGwK_Calcul-tva-mensuelle---RAA.xlsx

Ah mais d'accord je suis un peu blonde sur le coup.

Dis moi si c'est bon Merci
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
21 oct. 2020 à 14:16
Re,

être blonde n'a rien à voir, en G113 onglet 03 colle cette formule

=INDIRECT(TEXTE($F$113;"00")&"!G94")

dans tes formules supprime le + entre le = et la condition et ce dans toutes tes formules concernées
=+INDIRECT

0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
21 oct. 2020 à 14:22
super
ça marche,

génial franchement merci.
Pexu-tu me dire ce qui faisait que ma formule ne marchait pas? que je comrpenne
c'est parce que c'est du texte ?

Vaut mieux un = qu'un +
j'ai tendance a commencer mes formules par + mais c'est vrai que j'ai souvent lu que ça pouvait poser problème
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
Modifié le 21 oct. 2020 à 14:32
Re,

ce qui fait que ça ne marchait pas est tout simple, les noms de tes onglets commençant par 0 sont considérés comme format texte et non comme un format numérique
donc autant le considérer comme texte dès le départ
avec =INDIRECT(TEXTE($F$113;"00")&"!G94")

ou dans cette formule en F113 ce qui reviendrait à la même chose
=TEXTE(DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1);1))-1;"00")

0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
21 oct. 2020 à 14:35
Super, je n'avais jamais utilisé indirect avec un format texte, je me doutais que ca venait de mon format mais je ne savais pas comment la modifier. J'ai encore bcp a apprendre sur Excel. Merci en tout cas. Deux jours, deux réponses, milles merci
0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
21 oct. 2020 à 14:31
et je voulais également comprendre pourquoi je ne peux pas figer G94, enfin juste le 94 mais pas le G dans la fonction indirect par des $
Merci
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
21 oct. 2020 à 14:40
Re,

alors c'est plus compliqué mais voilà la formule à coller en G133 et incrémenter vers la droite

=INDIRECT(TEXTE($F$113;"00")&"!"&CAR(64+COLONNE())&94)
0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
21 oct. 2020 à 16:36
La formule marche mais l'incrémentation non,
après j'ai aussi remplace F113 par ma cellule B10 du coup pour qu'en depuliquant mon tableau chaque mois la formule marche, sans calculer F113.
Mais j'ai du mettre H94, a la main a la place de G94;

Merci quand meme franchement c'est top
par contre la formule 64+colonne
mon dieu je ne comprends rien
0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
21 oct. 2020 à 16:38
enfin j'ai mis (B10-1)

=INDIRECT(TEXTE(($B$10-1);"00")&"!G94")
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
Modifié le 21 oct. 2020 à 17:13
Re,

le problème vient justement de ce que tu ne comprends pas, je vais essayer de t'expliquer cette formule placée colonne G et qui commence par faire référence à la colonne G
=INDIRECT(TEXTE($F$113;"00")&"!"&CAR(64+COLONNE())&94)

=COLONNE() te retourne le numéro de la colonne ou se trouve la formule, exemple cette formule colonne G te retourne 7 soit la septième colonne mais cette formule en colonne A te retourne 1 soit première colonne.
il va falloir donc transformer cette valeur en lettre avec cette syntaxe =CAR(), sachant que la première lettre de l'alphabet en majuscule A correspond au code 65, si tu écris =CAR(65), la formule te retourne bien A
donc toujours en colonne A si tu écris =CAR(65+colonne()) la formule retourne B parce que 65+colonne qui est 1 =66 soit la colonne B
il suffit de faire une petite correction =CAR(65+colonne()-1) ou plus simplement =CAR(64+colonne())
à partir de ces connaissances il suffit d'adapter le numéro de colonne en fonction de l'adresse ou la formule se trouve.
Je m'explique si tu colles cette formule en colonne G elle te retourne G parce que =Car(64+colonne() qui est la septième) soit =CAR(71) = G si tu veux faire référence à la colonne A depuis la formule colonne G il va falloir faire une correction =CAR(64+COLONNE()-6)
pour faire référence par exemple à la colonne C =CAR(64+COLONNE()-4)
si à cette formule colonne G tu ajoutes un numéro de ligne 94
=CAR(64+COLONNE())&94 cela te retourne G94
reste plus qu'a encadrer cette formule avec INDIRECT(....)

il faut savoir que l'on peut faire la même chose avec les lignes si la formule est appelée à être incrémenter vers le bas

0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
21 oct. 2020 à 17:21
Ah oui je vais lire ça calmement. Et faire des essais pour comprendre ma formule.

Par contre en incrémentant la formule le G94 ne bouge pas.
Je vais restester je me suis peut etre trompée.
Merci de tes explications. quel niveau je suis impressionnée.
0
Melpoly Messages postés 23 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 28 octobre 2020
22 oct. 2020 à 11:51
Merci beaucoup de ton aide en tout cas
Et je peux te demander une petite chose

J'aimerai essayé quelque chose, je ne sais pas si c'est possible.
J'en demande peut etre beaucoup à Excel sans macro

J'aimerai que dans la cellule B3 le mois se mette automatiquement en fonction de mon nom de feuille
par exemple si la feuille se nomme 02 que dans la cellule B3, s'inscrive Février.
Je pense que clairement ce n'est pas possible je lui demande de reporter une donnée qu'il n'a pas.
Et en plus si une de mes collègues change le nom de la feuille plus rien ne marche

Sinon oui tu peux passer la discussion en résolu.
Ravie des réponses apportées
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
Modifié le 22 oct. 2020 à 12:33
Re,

Excel sait pratiquement tout faire sauf les frites
colle cette formule dans une cellule

=TEXTE("1/"&STXT(CELLULE("nomfichier");TROUVE("]";CELLULE("nomfichier"))+1;20);"mmmm") 


cette partie de formule récupère le nom de l'onglet
=STXT(CELLULE("nomfichier");TROUVE("]";CELLULE("nomfichier"))+1;20)

cette formule transforme une valeur numérique contenue par exemple en A1 en chiffre
=TEXTE("1/"&A1;"mmmm")

et si tu remplaces l'adresse cellule A1 par la formule de récupération du nom de l'onglet s'il est numérique bien sur
=TEXTE("1/"&STXT(CELLULE("nomfichier");TROUVE("]";CELLULE("nomfichier"))+1;20);"mmmm") 


0