lorsque j'essaye cette formule
Code : Tout sélectionner
=SI(ET($C$2<>'';$C$3<>'');TEXTE(D8;'jjjj')&' '&TEXTE(D8;'jj');"''))c'est pour un affichage des dates et jours, et que cela n'affiche rien si pas de jour comme le 30 février par exemple.
La ligne 7 sera cachée ensuite
ma source est cette explication là
Merci par avanceLigne d'entête du planning - Les jours de semaine
Pour pallier le problème que nous venons d'identifier afin de tronquer l'énumération lorsque la fin du mois est atteinte, ce sont les calculs Excel qui vont offrir la solution. Il s'agira de vérifier que le mois de la date proposée en ligne 8 est bien le même que celui de la toute première cellule de la même ligne. Le calcul pour la création de cette ligne d'entête ne doit se déclencher que si deux conditions sont vérifiées ensemble. L'année et le mois doivent être définis. En d'autres termes, les cellules C2 et C3 ne doivent pas être vides. Pour recouper ces conditions dans la zone de critère de la fonction Excel Si, nous devons donc exploiter la fonction ET permettant de les énumérer. Commençons par le calcul de référence, le seul qui ne sera pas à répliquer. Il s'agit d'extraire le jour de semaine de la date. La fonction Excel Texte permet de transformer une date en texte selon un format qui lui est passé en second paramètre.
Sélectionner la cellule D9 et taper le symbole = pour débuter le calcul,
Saisir le nom de la fonction conditionnelle suivi d'une parenthèse ouvrante, soit Si(,
Saisir le nom de la fonction pour recouper les critères et ouvrir la parenthèse, soit Et(,
Taper le critère suivant en figeant la cellule : $C$2<>'' pour vérifier que l'année n'est pas vide,
Taper un point-virgule (;) pour passer au critère suivant,
Taper le critère vérifiant que le mois n'est pas vide, soit $C$3<>'', en figeant la cellule,
Fermer la parenthèse de la fonction et taper un point-virgule pour passer dans la branche Alors de la fonction Si,
Saisir le nom de la fonction permettant la conversion suivi d'une parenthèse, soit Texte(,
Sélectionner la date à convertir, soit la cellule D8 et taper un point-virgule,
Entre guillemets, saisir le format permettant de restituer le jour en lettres, soit 'jjjj',
Fermer la parenthèse de la fonction Texte,
Concaténer avec un espace entre guillemets, soit & '',
Concaténer avec la fonction Texte pour extraire le numéro de la date, soit texte(D8;'jj'),
Taper un point-virgule (;) pour passer dans la branche Sinon de la fonction Si,
Saisir deux guillemets pour garder la cellule vide lorsque les conditions ne sont pas vérifiées,
Fermer la parenthèse de la fonction Si et valider,
Ce qui donne :
=SI(ET($C$2<>''; $C$3<>''); TEXTE(D8;'jjjj') & ' ' & TEXTE(D8;'jj'); '')
Le jour de la semaine en texte et en chiffre apparaît dans la cellule. Si nous supprimons l'une des deux informations, le mois et/ou l'année, l'inscription disparaît comme demandé par le recoupement de critères, grâce à la fonction Excel ET.
En E9, il s'agit d'extraire le jour de la date en texte et en chiffre de la cellule du dessus, soit E8 cette fois. Bien sûr, la double condition précédente reste vraie. Mais en plus, nous devons vérifier que le mois de cette date (en E8) est identique à la première (En D8, à figer donc), afin de pouvoir reproduire le calcul jusqu'au potentiel 31 ème jour.
En conséquence, en E9, taper la formule suivante :
=SI(ET($C$2<>''; $C$3<>''); SI(MOIS(E8)=MOIS($D$8); TEXTE(E8;'jjjj') & ' ' & TEXTE(E8;'jj');'');'')
Littéralement, nous exprimons le raisonnement suivant : Si l'année et le mois sont définis, alors si le mois de la date en cours est identique au mois de la première date de la ligne, nous affichons le jour de la semaine en texte et en chiffre, sinon nous n'affichons rien.

