Afficher ou non une valeur en fonction d'une date
Bonjour à toutes et à tous,
J'ai un petit peu de mal concernant une formule Excel que j'essaye de mettre en place.
Je vais essayer de vous expliquer le problème ;
A1 : Date que je rentre
R6 : Janv-17 S6 : Fev-17 ...
Petit précision dont je viens de me rendre compte, mon calendrier commence en R6 soit Janv 2017 donc pas à ce soucier de 2016 et il est en ligne.
Je voudrais Afficher ou non la valeur de la cellule R6 (S6, ... en glissant la formule) dans une cellule d'un autre onglet et en fonction de la Date que je rentre en A1.
Seulement les conditions d'affichage sont un peu spécifiques :
- Si A1 est une date en 2017 : affiche la valeur (R6) si elle est inf à la date en A1 sinon ""
Exp : A1 = 02/17
R6 : Janv-17 S6 : Fev-17 T6 : Mars-17 U6 : Avr-17 ...
Cell1 : Janv-17 Cell2: Fev-17 Cell3: "" Cell4: "" ....
- Si A1 est une date après 2017 (et c'est là que je bloque) : afficher la valeur si elle appartient aux 12 mois avant la date en A1 sinon ""
Exp : A1 =02/18
R6 : Janv-17 S6 : Fev-17 T6 : Mars-17 ... AA6 : Oct-17 AB6 : Nov-17 ... AE: Fev-2018 AF: Mars-18
Cell1 : "" Cell2: "" Cell3: Mars-17 ... Cell10: Oct-17 Cell11: Nov-17 ... Cell14 : Fev-18 Cell15: ""
Donc pour résumer je veux afficher mois par mois en 2017 (à la fin de l'année j'ai mes 12 mois) et à partir de 2018 je veux les 12 mois glissants.
Après avoir gratté un moment je suis arrivé à un truc du genre mais ça ne fonctionne pas : (ça peut aider à comprendre où je veux aller)
=SI(ANNEE(Données!$A$1)<=2017;SI(Données!R6<=Données!$A$1;Données!R6;""); SI(MOIS(Données!R6)<MOIS.DECALER(Données!$A$1;-12);"";SI(Données!R6>Données!$A$1;"";Données!R6)))
J'espère avoir été clair, c'est pas évident du tout d'expliquer sa problématique ...
Je vous remercie de votre attention et de votre aide.
Bonjour,
Eh bien ... pas du toutPickleRick a écrit :J'espère avoir été clair
Alors imagine ce que c'est pour nous qui essayons de la comprendre!PickleRick a écrit :c'est pas évident du tout d'expliquer sa problématique
Pourquoi, dans tes exemples, mentionner R6, S6, etc. sur une ligne, puis passer à une notation Cell1, Cell2, etc. à la ligne suivante? À quoi correspondent les secondes?
... quel est le contenu réel de R6? Du texte, une date? Si c'est une date, laquelle des 31 possibles?PickleRick a écrit :R6 : Janv-17
Un extrait de ton fichier, sans données confidentielles paraît incontournable ... mets-y des illustrations des différents cas de figure, avec les résultats attendus (et l'explication pour chacun) ... Enfin, si tu veux bien
Bonjour,
Merci de m'avoir répondu malgré l'incompréhension générale
Je sais pas trop ce que j'ai voulu faire en expliquant sans envoyer de fichier.
En voici un d'exemple. En espérant que ce soit plus compréhensible
Ma demande n'est peut être pas très optimisée mais je suis un peu obligé de faire comme ça ...
Merci de votre attention.
Cordialement,
Salut,
Normalement pour comprendre la base de ta demande pas besoin de ton fichier donc tu n’as rien à te reprocher, mais clair que quand c'est trop complexe un fichier c'est mieux
ECG
Bonjour,
Mon problème est que je ne comprends pas bien l'intérêt de la manipulation (pas plus, d'ailleurs, que ce qu'apporte l'intervention d'ExcelCoreGame
... Un essai, donc, sans beaucoup de conviction ... en B3 de Feuil2:
=SI(ANNEE(Feuil1!$A$3)=2017;SI(ANNEE(Feuil1!B5)=2017;Feuil1!B5;"");SI((Feuil1!B5>=DATE(ANNEE(Feuil1!$A$3);MOIS(Feuil1!$A$3)-11;1))*(Feuil1!B5<=Feuil1!$A$3);Feuil1!B5;""))à recopier jusqu'en Z3
Bonjour,
C'est vrai que j'ai essayé d'expliquer le résultat attendu par la manip mais pas son utilité afin d'éviter de complexifier encore plus la demande pour pas grand chose (et avoir des réponses du style, pourquoi tu fais comme ceci et pas comme cela etc ...).
Du coup tu as quand même presque parfaitement répondu à ma demande. En tout cas pour à la deuxième partie où je bloquais ton code fonctionne bien, du coup j'ai ai ajouté ma "première partie" pour les dates avant 2017 et c'est bon !
=SI(ANNEE(Feuil1!$A$3<=2017;SI(Feuil1!B5<=Feuil1!$A$3;Feuil1!B5;"");SI((Feuil1!B5>=DATE(ANNEE(Feuil1!$A$3);MOIS(Feuil1!$A$3)-11;1))*(Feuil1!B5<=Feuil1!$A$3);Feuil1!B5;""))Je te remercie de ton aide !
Cordialement
Re-bonjour,
Je comprends ce que tu veux dire, mais c'est aussi l'intérêt d'un forum, parfois: ouvrir d'autres horizons, amener un regard neuf, proposer une autre approche, etc.PickleRick a écrit :éviter [...] d'avoir des réponses du style, pourquoi tu fais comme ceci et pas comme cela etc ...
À trop se focaliser sur ce qu'on a imaginé, on se coince parfois soi-même. Tant mieux si ce n'est pas le cas ici
U. Milité a écrit :Bonjour,
Mon problème est que je ne comprends pas bien l'intérêt de la manipulation (pas plus, d'ailleurs, que ce qu'apporte l'intervention d'ExcelCoreGame
)
Je répondais à PickeRick qui s'excusait pour :
PickleRick a écrit :Merci de m'avoir répondu malgré l'incompréhension générale
Cordialement,
Pour ma part j'encourage plutôt dans un premier lieu à faire un descriptif par texte de la demande ou avec des bouts de Code pour éviter la banalisation du
Bonjour, cf fichier ci-joint car c'est plus simple
Personnellement je suis la pour aider et pas pour faire à la place de, si la personne prends un minimum le temps d'expliquer dans un premier temps j'apprécie la chose, c'est même une preuve de respect pour moi et je serais plus enclin à aider.
D'une autre part, de mettre les choses à plats par texte cela permet déjà de faire le tri sur les personnes qui ne savent pas au final ce qu'elles veulent, en tentant de le faire par écrit elles peuvent voir des cas particuliers ou être amenées à réfléchir sur d'autre chose, c'est du moins mon avis.
C'est comme partir sur du code comme une fusée sans faire de logigramme avant ou d'avoir bien réfléchis à ce que l'on veut, c'est bien et ça peut passer mais au final ce n'est pas vraiment le plus payant
Après j'avoue qu'a un moment on ne peut pas expliquer certains mécaniques ou détails avec des mots ou alors ça prendrais 2 ans ^^
Et surtout je conçois et j'accepte que certains préfèrent un fichier directement plutôt que des explications qui ne sont pas très clairs ^^
Mais ce n'était pas nécessaire de s'excuser, j'apprécie son essaie de faire ça par écrit dans un premier temps
ECG