XL 2013 planning : récupérer le nom de la feuille pour l'inclure dans une formule

shushen

XLDnaute Nouveau
Bonjour,

j'ai créé un classeur avec un planning sur 31 jours.
Il y a 1 feuille pour chaque jour du mois, et les feuilles sont nommées avec le chiffre du mois (1, 2, 3 jusqu'à 31), soit 31 feuilles + une feuille récap à la fin
Chaque feuille est identique, avec le nom de la personne et son planning.
La feuille récap sert à renseigner si la personne est absente ce jour là. Une fois que la personne est notée absente, il y a une règle de mise en forme conditionnelle qui colorie en rouge la journée et la personne concernée via la fonction index.
Actuellement, je dois faire une formule de mise en forme conditionnelle par jour, soit 31 formules, pour que le planning fonctionne.
Mon idée serait de récupérer le nom de la feuille active pour l'inclure dans la formule, et avoir une seule formule dynamique, qui s'adapte à toutes mes feuilles.

J'ai bien essayé la fonction =feuille() et la fameuse fonction pour récupérer le nom à partir du chemin d'accès :
=DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1)))

Mais rien n'y fait...

En PJ un exemple de mon problème avec plus d'explications sur les formules.
 

Pièces jointes

  • planning test.xlsx
    13 KB · Affichages: 12

Deadpool_CC

XLDnaute Accro
Bonsoir,
je n'ai pas téléchargé ton fichier ... mais pour récupérer le nom d'une feuille par une formule :
VB:
=DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1)))

et je viens de (re)tester ... elle fonctionne ... :)

Juste un point ... j'espère que tu teste sur un fichier enregistré ... si nouveau fichier sans un 'save' ... t'aura rien !
 
Dernière édition:

shushen

XLDnaute Nouveau
Bonjour Deapool,

merci pour ton retour. Oui le fichier est bien enregistré et la formule fonctionne.

Par contre quand je veux l'imbriquer dans ma formule index ça ne fonctionne pas.

Exemple, ma formule actuelle où le chiffre 1 correspond au nom de la feuille (elles sont numérotées de 1 à 31), et 2 correspond au numéro de la colonne où je recherche des données sur ma feuille récap.
=INDEX(recap;EQUIV('1'!$A2;recap_noms;0);2)<>""

Quand je veux remplacer 1 par une formule qui récupère le nom de la feuille ça ne passe pas :/
 

shushen

XLDnaute Nouveau
Bonjour JHA,

super ça fonctionne. J'ai réussi à adapter la formule et à récupérer le numéro de la colonne pour la fonction index via la somme du nom de la feuille + 1 en cellule B6 (résultat colonne 2 dans cet exemple).

1673965429922.png


Un dernier point, je souhaite conserver le contenu des cellules vierges, et appliquer la formule uniquement dans la mfc. Et quand j'utilise le gestionnaire de noms pour appliquer la formule unique, cette formule ne fonctionne que sur la page où je la créé. Donc là dans l'exemple en PJ, la feuille 1 est opérationnelle mais les feuilles 2 et 3 ne fonctionnent pas de façon dynamique. Pourtant dans le gestionnaire la formule devrait fonctionner indépendamment sur toutes les feuilles. Je ne comprends pas qu'elle soit reliée à la 1ere feuille.

Ci dessous la formule :
=INDEX(recap;EQUIV(INDIRECT("'"&$A$6&"'!$A"&LIGNE());recap_noms;0);$B$6)<>""
 

Pièces jointes

  • planning test V2.xlsx
    14 KB · Affichages: 5
Dernière édition:

JHA

XLDnaute Barbatruc
Bonjour à tous,

En une formule dans la MFC
VB:
=DECALER(récap!$A$1;EQUIV('1'!$A2;récap!$A$2:$A$4;0);EQUIV((DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1)))*1);récap!$B$1:$D$1;0))

JHA
 

Pièces jointes

  • planning test V2.xlsx
    15.4 KB · Affichages: 5

shushen

XLDnaute Nouveau
Merci JHA,

on a déjà du te le dire mais wow, quel niveau ! :)

J'avais cherché une solution de contournement en indiquant dans une colonne inutilisée la condition vrai ou faux que je pouvais récupérer ensuite dans la MFC.

Mais ta solution est beaucoup plus propre.

Encore merci et bonne journée.
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 837
dernier inscrit
Ugo