Partager via

Recopier le nom de l'onglet d'une feuille de calcul dans une cellule d'une autre feuille de calcul

Anonyme
2024-04-26T10:04:33+00:00

Bonjour,

J'ai testé cette formule qui produit ce qui est attendu : recopier, dans une cellule, le nom de l'onglet de la feuille dans laquelle se trouve ladite cellule.

=STXT(CELLULE("nomfichier";A1);CHERCHE("]";CELLULE("nomfichier";A1))+1;9^9)

Est-il possible d'utiliser une formule du même type pour recopier le nom de l'onglet d'une autre feuille de calcul ?

Merci par avance pour votre réponse,

Muriel

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Hecatonchire 53,700 Points de réputation Modérateur bénévole
2024-04-26T12:07:02+00:00

CELLULE("nomfichier";Janvier!A1) donne par exemple C:\MesDoc\_A_Supprimer[rfff.xlsx]Janvier

Le jeu est d'extraire Janvier le nom de la feuille cible de cette chaîne.

LET déclare une variable "c" (nom arbitraire) contenant le résultat de CELLULE("nomfichier";Janvier!A1) donc le texte "C:\MesDoc\_A_Supprimer[rfff.xlsx]Janvier".

STXT(c ; CHERCHE("]";c)+1 ; 9^9) permet d'extraire la chaîne qui se trouve après le crochet fermant "]"

CHERCHE("]";c) donne la position du cochet.

Ne connaissant la longueur de cette portion de texte, on lui dit de récupérer 9 puissance 9 caractères (soit 387420489 caractères).

Vu que le nom de la feuille ne peut dépasser 31 caractères, tu pourrais remplacer 9^9 par 31.

On a donc en "français "Extrait de la chaine contenue dans c, le texte après le 1er cochet fermant trouvé les 387420489 caractères suivants".

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Hecatonchire 53,700 Points de réputation Modérateur bénévole
2024-04-26T10:47:22+00:00

Bonjour,

Pour la feuille Janvier

=STXT(CELLULE("nomfichier";Janvier!A1);CHERCHE("]";CELLULE("nomfichier";Janvier!A1))+1;9^9)

Version optimisée

=LET(c;CELLULE("nomfichier";Janvier!A1);STXT(c;CHERCHE("]";c)+1;9^9))

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

3 réponses supplémentaires

  1. Anonyme
    2024-04-27T20:13:43+00:00

    Bonsoir Arnaud,

    Merci beaucoup pour les explications. J'ai saisi l'esprit global. J'avais vu le "31" dans une formule et je me demandais comment et pourquoi on pouvait pouvait passer de 9^9 à 31. C'est clair maintenant sur le fond et sur la forme.

    Merci encore,

    Muriel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2024-04-26T11:43:49+00:00

    Merci infiniment Hecatonchire !

    Rapide et efficace ! J'ai modifié ma formule et tout a parfaitement fonctionné. J'ai utilisé la version optimisée.

    Pour mieux comprendre la syntaxe, j'aimerais comprendre quelques éléments de la formule N° 1

    • Que veut dire STXT ? (après, même si je ne connais pas toutes les références, la syntaxe générale me parle)
    • A quoi correspond (dans "nomfichier";Janvier!A1) A1 ? Est-ce une syntaxe qui définit que accolé au nom d'une feuille de calcul, A1 signifie qu'il s'agit du nom de l'onglet ?
    • A quoi "]" fait-il référence ?
    • Que signifie "+1;9^9"

    Concernant la version optimisée de la formule, je vois bien les changements mais d'où proviennent-il ? Une autre possibilité d'exprimer la syntaxe ou une autre formule ? Et ici, à quoi fait référence le "c" --> copy ?

    Merci par avance pour les réponses. C'est cool de recevoir la formule qui fonctionne, mais pour ma part j'aime bien comprendre ce que je fais et pourquoi. Il n'y pas pas d'urgence pour la réponse.

    Muriel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Supprimé

    Cette réponse a été supprimée en raison d’une violation de notre Code de conduite. La réponse a été signalée manuellement ou identifiée via la détection automatisée avant que l’action ne soit entreprise. Pour obtenir plus d’informations, veuillez consulter notre Code de conduite.


    Les commentaires ont été désactivés. En savoir plus