Bonjour
ou doit je mettre la formule:
Function CouleurdesOnglets(ByVal Coul%)
If Coul < 0 Then Coul = -4142
Application.Caller.Worksheet.Tab.ColorIndex = Coul (que veut dire la phrase)
End Function
Ce n'est pas une formule, mais un Code VBA à mettre dans un Module
Application.Caller.Worksheet.Tab.ColorIndex = Coul
Worksheet.Tab.ColorIndex est la désignation de la couleur de l'onglet de la Feuille
=STXT(CELLULE("nomfichier";$A$1);TROUVE("]";CELLULE("nomfichier";$A$1))+1;32)
a quoi correspond +1;32
La formule
=CELLULE("nomfichier";$A$1)
affiche le chemin complet du fichier (sur ton ordi)
chez moi, par exemple, le résultat de cette formule est
D:\Mes documents\Forum Excel\2_En recherche\[exemple.xls]22
Pour extraire le nom de l'onglet qui est après le caractère ]
on cherche la position de ce caractère et on récupère tous les caractères qui suivent le ]
La fonction
TROUVE("]";CELLULE("nomfichier";$A$1))
donne la position de ce caractère dans
D:\Mes documents\Forum Excel\2_En recherche\[exemple.xls]22
Avec le nombre correspondant à cette position, on extrait les caractères suivants d'où le+1
Quant au 32, c'est un vieux réflexe qui date de l'époque ou windows limitait les noms de fichier à 32 caractères, tu peux remplacer ce 32 par 50 ou 100 quand les noms d'onglets sont à rallonge
Pour les cas ou les noms d'onglet sont vraiment longs et pour être sur à 100% du résultat, tu peux remplacer ce 32 par
NBCAR(CELLULE("nomfichier";$A$1))
=CouleurdesOnglets(SI($A$2*1=JOUR(AUJOURDHUI());3;-1))
dans toute les page ou sont inscrit les formules le resultat est 0 pourquoi?
a quoi correspond 3 ; -1)
Parce que dans le Code tu as la ligne suivante
If Coul < 0 Then Coul = -4142
qui signifie en clair que si le résultat de la formule est inférieur à 0, il n'y a aucune couleur
La formule de chaque feuille
=CouleurdesOnglets(SI($A$2*1=JOUR(AUJOURDHUI());3;-1))
en clair, la formule renvoie 0 si la date en A2 correspond à aujourd'hui (ce qui est le cas pour toutes tes feuilles.
Mais la fonction prévoit de ne mettre la couleur 3 (Rouge) indiquée dans la formule QUE SI le nom de l'onglet correspond à la date (jour) d'aujourd'hui.
Cordialement