Générer le nom d'un onglet depuis la dernière partie de celui du fichier

Bonjour à tous. Long time no see.
Ca doit bien faire trois ans que je n'ai plus touché un fichier Excel puisque je suis devenu cuisinier.

Néanmoins un copain m'a montré son fichier que je trouve foutrac.

J'ai décidé d'essayer de l'aider. Mais il me faut réactiver mes connaissances et même aller au delà je pense.

Il a l'habitude de nommer ses fichiers de stock avec l'année à la fin : Mon restaurant 2023.

Et il veut que ses onglets contiennent aussi l'année : Janvier 2023, Février 2023.

Il répète cela aussi en première ligne et dans la première case (sans doute a-t-il besoin d'être rassuré ! - cheese).

Je me disais que ceci pouvait se générer tout seul à partir du moment où on copiait le fichier de l'année dernière en celui de cette année et en changeant le millésime.

Franchement je ne sais plus comment manier les chaînes de caractères.

Vous trouverez joint un extrait du fichier.

En vous remerciant par avance de votre réponse, que je sais être rapide puisqu'elle va me faire gagner au moins une demi-journée de recherche.

Bonjour Mava1059 et bonne année

Il veut garder ses anciens onglets alors qu'aucun n'est identique ?

A+

Bonsoir BrunoM45

Je n'ai pas encore analysé le contenu des autres onglets du fichier initial donc j'ai fait une extraction sans doute pas très cohérente.

Pour l'instant, je veux faire en sorte que ce fichier de nouvelle année ait les caractéristiques de nomination recherchées (nom d'onglet etc.).

Ensuite en effet je voudrais que tous les onglets aient des liens entre eux à partir du premier que ce soit pour les dénominations de vins ou de prix voire de tri. Mais je n'en suis pas encore arrivé là tant j'ai l'impression de lui parler chinois même en face du fichier ! Un cuistot n'est pas très "computer literate".

Merci de ton aide et en effet bonne année.

Je vais me permettre de soumettre les problèmes au furet à mesure de leur identification et de mes butées sur la connaissance de ce logiciel apprécié.

Cdlt

Re bonsoir

J'ai essayé de travailler sur mon problème de nom d'onglet à générer automatiquement.

Mon idée récupérer le nom du fichier et en extraire les quatre derniers caractères pour récupérer l'année.

L'aide m'a donné cette formule pour le nom de fichier.

Outre qu'il faut changer toutes les virgules en points-virgules (ce qui est un peu fastidieux mais t'oblige à réfléchir à la formule et donc la comprendre) il se trouve qu'elle ne fonctionne pas et me donne un #NOM? sans que je comprenne où est l'erreur.

Et là franchement c'est un peu désespérant. Tu crois avoir trouver une main secourable mais elle te demande de bien tenir et finalement te lâche et tu retombes dans le fossé. C'est ça l'aide en ligne.

Je vous livre la formule copiée.

=MID(CELLULE("filename");CHERCHE("[";CELLULE("filename"))+1;CHERCHE("]";CELLULE("filename"))-CHERCHE("[";CELLULE("filename"))-1)

Je vais y passer le temps nécessaire mais je pensais que le nom du fichier était plus facile à récupérer que ça (vague souvenir de la notion d'attributs d'objets dont on hérite apprise à mes cours du CNAM au siècle dernier).

A ce soir, je n'aurais pas réussi à mettre cette simple chaine dans une cellule avant de la fractionner. Et ma coupure se termine, il me faut y retourner.

A plus tard

Bonjour Mava1059

Désolé, mais beaucoup de taf en ce moment, donc pas trop disponible

Pour commencer, merci de modifier votre profil et mettre la version Excel que vous avez et non la version Windows

Ensuite, comment voulez-vous faire ça ?
Je pense que le mieux serait en VBA, du coup très simple à faire quand on connait

A+

Bonsoir

Merci de ta réponse.
J'espère que j'ai modifié correctement les informations de mon profil.

Je comprends ta charge de travail. Je n'ai jamais fait de macro. Je suis bien conscient que tout ce que j'ai fait "à la main" quand j'ai copié le fichier de 2022 à 2023 nécessiterait une macro.

Mais si on considère qu'on peut accepter de faire cet effort manuel lors du changement d'année,
ce que je veux c'est faire que tous les liens intra et inter-onglets du fichier soient bons, effectifs et "propres".
Que le prix d'un vin passe d'un mois à l'autre de janvier à décembre.
Que le stock final de janvier devienne le stock initial de février.
Et des choses comme ça. Bref une simple chaine.

Tout ça je crois que je sais faire, ce ne sont que des liens.

Je pensais que récupérer un nom de fichier dans une cellule allait être simple. Mais si même la syntaxe de l'aide en ligne est fausse alors je comprends que tu aies du pain sur la planche. Evidemment je suis déçu de ne pas avoir une bonne syntaxe en ligne (mon ancien réflexe de responsable qualité !).

Donc ma question va être simple :
La case A1 d'un onglet contient la date du premier jour du mois (01/01/AAAA).
Quand je copie le fichier et je change son nom myfichier2022 en my fichier 2023,
d'après toi, cela va-t-il être "simple" pour moi d'y adjoindre l'année en cours en prenant les quatre digits de fin du nom du fichier
avec les fonctions EXISTANTES d'Excel telles que trouvées dans l'aide ou recherchées un peu plus profondément (CONCAT et autres) ?

C'est peut-être trop basique pour toi qui parle VB couramment, ce qui n'est pas mon cas.

En te remerciant du temps que tu prends à t'attaquer à ma préoccupation.

Bonjour

J'ai trouvé en allant plus profondément dans la documentation en ligne.

Il faut remplacer MID par STXT.

=STXT(CELLULE("filename");CHERCHE("[";CELLULE("filename"))+1;CHERCHE("]";CELLULE("filename"))-CHERCHE("[";CELLULE("filename"))-1)

A l'occasion il faudra m'expliquer pourquoi dans la documentation en ligne il y a une explication théorique et une pratique qui fonctionne quand on la recopie.

J'avoue que plus je parcours la documentation en ligne plus je trouve qu'elle est faite pour les gens qui savent déjà toutes les fonctions et pas du tout pour des gens qui cherchent.

Par ailleurs j'ai abandonné de modifier le nom de l'onglet.

Merci de votre aide partielle.

Rechercher des sujets similaires à "generer nom onglet derniere partie celui fichier"