Extraire le nom d'une feuille [Résolu]

Signaler
-
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020
-
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

Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
Re,

regarde ton fichier onglet 03 ligne 113

https://www.cjoint.com/c/JJvpDh5VZQc
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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")
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
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
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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"))

A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

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 ?
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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/
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

ok c'est fait
il faut voir la feuille 03. J'ai mis un commentaire.
Milles merci du temps que tu prends
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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/
A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

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
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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

Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

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
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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")

A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

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
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

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
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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)
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

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
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

enfin j'ai mis (B10-1)

=INDIRECT(TEXTE(($B$10-1);"00")&"!G94")
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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

A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

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.
Messages postés
23
Date d'inscription
mercredi 30 octobre 2019
Statut
Membre
Dernière intervention
28 octobre 2020

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
Messages postés
17300
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 janvier 2021
4 431
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") 


A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...