Formules: cocher le mois correspondant à une date inscrite dans une feuille

Bonjour,

je reviens vers vous pour exprimer mon besoin j'espère avoir la bonne formule car j'ai essayé longtemps sans résultat

merci à vous par avance

j'ai un document Excel qui renferme un tableau de 12 mois dans la feuille 1 nommé "calendrier" et les autres feuilles sont des tableaux contenant des données, parmi lesquelles la date que je souhaite rapporter dans la feuille 1

par exemple en I52 de la feuille 2 s'inscrit la date suivante colorée en jaune: 13/06/2020

et en I52 de la feuille 3 s'inscrit la date suivante colorée en jaune: 20/09/2020

Alors dans "calendrier" je veux mettre dans les deux mois juin et septembre des "Y" de la ligne 9 jusqu'à ligne 16 comme simulé dans l'exemple ci joint

et pour une dernière étape je veux inscrire des X de la ligne 9 à la ligne 16 dans le mois qui correspond à la date enregistrée dans la cellule C9 ou D9 de la feuille 4 (colorés en jaune) mais à condition que:

ne mettre "X" dans une ligne A, B ou... J de la feuille "calendrier" que si ,dans la feuille 4, devant la même lettre (colorée en rouge) il y a au moins 2 lignes non vides dans chaque critère construisant la lettre considérée (celles colorées en jaune).

j'ai en total 19 critères réparties sur 10 lettres

j'espère être claire et je suis toujours disponible pour toute autre clarification

par avance je vous remercie de votre aide précieuse

bien cordialement

16classeur1.xlsx (30.64 Ko)

Salut soonorlater,

formule à insérer dans la céllule C9 feuille "calendrier" et tirer vers la droite jusqu'à N9 (si j'ai bien compris )

=SI(ET(TEXTE(DATE(1;MOIS(Feuil4!$C$9);1);"MMMM")=C8;NBVAL(INDIRECT("Feuil4!G"&1+EQUIV($B$9;Feuil4!$A$1:$A$166;0)&":G"&2+EQUIV($B$9;Feuil4!$A$1:$A$166;0)))=2);"X";SI(OU(TEXTE(DATE(1;MOIS(Feuil2!$I$52);1);"MMMM")=C8;TEXT(DATE(1;MOIS(Feuil3!$I$52);1);"MMMM")=C8);"Y";""))

@++

Bonjour m3ellem1,

Merci de votre retour

j'ai inséré votre formule et ça a donné l'erreur #NOM?

et puis j'ai besoin d'une formule qui s'étirera sur tout la plage de donnée C9:N18 du tableau dans "calendrier" et qui prends en considération le remplissage décrit ci dessus à partir de la feuille 4 et le remplissage des dates présentes dans Feuil2 et Feuil3 et éventuellement si le mois de la date dans la Feuil4 correspond au mois de la date inscrite dans l'un des autres feuilles de cette façon je dois insérer X+Y vous voyez ?

merci encore et toujours disponible pour expliquer d'avantage

bien cordialement

Bonjour soonorlater, m3ellem1,

Voyez si la solution proposée dans le fichier joint vous convient

=SI(OU(MOIS(C$8)=MOIS($Feuil4.$C$9);MOIS(C$8)=MOIS($Feuil4.$D$9));"X";SI(OU(MOIS(C$8)=MOIS($Feuil3.$I$52);MOIS(C$8)=MOIS($Feuil2.$I$52));"Y";""))

Salut soonorlater, slt njhub,

@++

Bonjour m3ellem1, njuhb

merci beaucoup de votre aide

@m3ellem1

la formule fonctionne mais une seule chose si deux dates coïncident ça ne donne pas X+Y

@njhub,

votre formule semble marcher pour les Y mais pour les X ça ne tient pas compte des conditions des deux lignes remplis et aussi la coincidence entre deux dates ça ne donne pas X+Y

merci à vous de votre aide

bien cordialement

Ben t‘as des exemples que tu pourrais developper

oui bien sur

sur votre fichier envoyé si je change la date de la feuille 4 , je choisis le mois juin au lieu de mai

alors dans "calendrier" je n'ai plus de X au mois de mai mais je veux avoir devant A X+Y (H9) et devant G X+Y (H15) , actuellement ça n'affiche que X pour les deux

essai ci joint

merci beaucoup

X+Y?? t'as jamais dit qu'il fallait avoir X+Y comment puis-je le deviner moi?

ajoute une condition alors si les dates coincide et les céllules dans G:L ne sont pa vide, qu'il t'affiche X+Y.

=SI(ET(TEXTE(DATE(1;MOIS(Feuil4!$C$9);1);"MMMM")=TEXTE(DATE(1;MOIS($C$8);1);"MMMM");NBVAL(INDIRECT("Feuil4!G"&1+EQUIV(B9;Feuil4!$A$1:$A$166;0)&":G"&2+EQUIV(B9;Feuil4!$A$1:$A$166;0)))=2;OU(TEXTE(DATE(1;MOIS(Feuil2!$I$52);1);"MMMM")=TEXTE(DATE(1;MOIS($C$8);1);"MMMM");TEXTE(DATE(1;MOIS(Feuil3!$I$52);1);"MMMM")=TEXTE(DATE(1;MOIS($C$8);1);"MMMM")));"X+Y";SI(ET(TEXTE(DATE(1;MOIS(Feuil4!$C$9);1);"MMMM")=TEXTE(DATE(1;MOIS($C$8);1);"MMMM");NBVAL(INDIRECT("Feuil4!G"&1+EQUIV(B9;Feuil4!$A$1:$A$166;0)&":G"&2+EQUIV(B9;Feuil4!$A$1:$A$166;0)))=2);"X";SI(OU(TEXTE(DATE(1;MOIS(Feuil2!$I$52);1);"MMMM")=TEXTE(DATE(1;MOIS($C$8);1);"MMMM");TEXTE(DATE(1;MOIS(Feuil3!$I$52);1);"MMMM")=TEXTE(DATE(1;MOIS($C$8);1);"MMMM"));"Y";"")))

sinon j'ai combiné ma formule avec celle de njhub dans son document, et la formule est devenue plus lisible

à te relire

Bonjour m3ellem1,

merci de votre effort

et éventuellement si le mois de la date dans la Feuil4 correspond au mois de la date inscrite dans l'un des autres feuilles de cette façon je dois insérer X+Y vous voyez ?

mais vous avez raison j'ai pas mis l'accent sur cette alternative

alors concernant votre formule, elle marche très bien sauf que les deux X au mois de mai ne doivent pas être là puisque vous avez changé la date de mai à janvier

merci encore

Rebonjour,

je suis vraiment désolée j'ai pas fait l'étirement de votre formule partout sur la plage du tableau

ça marche nickel merci infiniment m3ellem

merci à vous deux les amis

on compte toujours sur vous nous les novices

bonne journée

Bonjour soonorlater et le forum

Avec un peu de retard,

Voici ma petite contribution (surement à améliorer) avec VBA

Opération1: cliquer sur GENERER LE Y

Opération2: cliquer sur GENERER LE X

Attention: la ligne 7 est masquée, elle contient les données pour alimenter les variables MOIS.

Cdt

Henri

bonjour Henri,

merci de votre solution c'est impeccable

un bouton et le tour est joué

merci à vous tous

bonne journée

Rebonjour Henri et les amis

je pense à généraliser le document si j'ai plus que 3 feuilles dans le classeur c-à-d j'ai plus q'un exemplaire de la feuille 4 et plus que deux exemplaires des feuilles 2 et 3

que faire à ce moment là?

en fait votre proposition m'a donné cette idée qui est très probable

merci encore

bien cordialement

Bonjour et content que ma version vous convienne.

Je pense à 2 solutions.

Je renomme la Feuil4 par ex Synthèse (elle sera feuille modèle)

Je renomme la Feuil2 par ex Base (elle sera également feuille modèle)

Je supprime la feuil3, qui n'a plus lieu d'exister.

Quand j'ai renseigné la feuille Base, je génère les Y, et la copie avec un autre nom (ex: Base+N° du mois). La feuille Base est réinitialisée à blanc.

Je procède de la même manière avec la feuille Synthèse, je génère les X et je la copie (ex: Synthèse+N° du mois) et je la réinitialise à Blanc.

Pour ne pas charger le fichier avec tous ces onglets supplémentaires, on peut imaginer qu'au lieu de les copier, on les sauvegarde en .pdf

Voilà ma réflexion, dites-moi ce que vous en pensez.

En PJ le fichier initial avec une modification des macros, qui ne change rien au principe.

Cdt

Henri

Rebonjour,

merci de votre retour

ce que vous avez dit semble une bonne idée quoique il y a une petite erreur dont j'ignore la cause: quand je choisis le mois janvier ça me coche la colonne "OCTOBRE"

merci beaucoup

bien cordialement

OK, autant pour moi

dans la formule Find il faut ajouter lookat:=xlwhole (recherche exacte).

Voici en PJ le fichier corrigé

Cdt

Henri

Bonjour,

merci de votre aide

svp le code des Y marche bien mais pour les X ça me donne toujours le message d'erreur "400"

svp j'ai essayé pour longtemps mais sans trouver la solution je me suis bloquée la dessus

en fait j'ai multiplié le nombre de feuilles du classeur: 4 feuilles pour le code Y et deux feuille pour le code X

et j'ai essayé de multiplier votre code pour me dépanner

alors j'ai réussi pour les Y mais pour les X ça me donne le message d'erreur "400" et ça ne met que 3 "X" malgré que toutes les lignes sont remplies

je suis pas arrivée à multiplier le code des X pour la 2eme feuille car il ne marche pas déjà pour la première pourtant j'ai gardé la même structure des feuilles qu'auparavant

merci de m'aider

bien cordialement

Bonjour,

Pourquoi ne pas avoir fourni ce tableau au début?

Beaucoup d'erreurs en écriture dans les macros. Il faut impérativement que le nom des feuilles soit respecté.

ex: "rapport d'audit externe 1" ne sera pas reconnu si on met "rapport audit externe 1".

La feuille "rapport externe 2" a une ligne en moins que "rapport externe 1". On duplique à l'identique.

Voici en PJ une 1ère correction. je n'ai pas eu le temps de tout vérifier. Je verrai dans la soirée.

Cdt

Henri

Rebonjour AFEH,

merci de votre retour

j'ai mis un modèle de mon document de travail, et comme je ne comprends pas grand chose en VBA j'avais un message d'erreur dès mes premiers essais pour adapter votre code à un autre document

merci beaucoup

ok à vous lire

bien cordialement

Rechercher des sujets similaires à "formules cocher mois correspondant date inscrite feuille"