Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Retourner la valeur d'une colonne et d'une ligne suivant la valeur d'une matrice de dates

Patrick Zed

XLDnaute Nouveau
Bonjour,
Cela ne me paraît pas si ardu que cela mais je sèche vraiment.
A partir d'une date de démarrage d'un projet , je génère une matrice de dates pour le 53 prochaines semaines, la colonne A renvoie le n° de la semaine ( S01 à S53, attention rien à voir avec les n° de semaine d'un calendrier) , la ligne 1 renvoie le n° du jour (J1 à J7).
Je souhaite renvoyer les valeurs de semaine et de jour en fonction de la date du jour : exemple aujourd'hui 12/11/2020 si la date de départ du projet est le 17/08/2020 nous sommes en S13 J4.
C'est en gros trouver l'inverse de la fonction INDEX qui à partir d'une colonne et d'une ligne trouve la valeur à l'intersection.
je joins un fichier
Merci pour votre aide
 

Pièces jointes

  • matrice de dates.xlsx
    15.3 KB · Affichages: 16

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @Patrick Zed,

Pour la semaine en E1 :
VB:
="S"&TEXTE(ENT((C2-$B$5+1)/7)+(MOD((C2-$B$5+1);7)>0);"00")
Pour le jour en F1 :
Code:
="J"&(MOD(C2-$B$5;7)+1)


Un autre jeu de formules en K1 et en L1 :
Semaine :
VB:
=INDEX(A5:A57;ENT((C2-$B$5+1)/7)+(MOD((C2-$B$5+1);7)>0))
Jour :
VB:
=INDEX(B4:H4;MOD(C2-$B$5;7)+1)
 

Pièces jointes

  • Patrick Zed- matrice de dates- v1.xlsx
    16.2 KB · Affichages: 9
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,
Une autre version avec SommeProd(...) :
Semaine :
VB:
=INDEX(A:A;SOMMEPROD((B5:H57=C2)*LIGNE(B5:H57)))
Jour :
VB:
=INDEX(4:4;SOMMEPROD((B5:H57=C2)*COLONNE(B5:H57)))
 

Pièces jointes

  • Patrick Zed- matrice de dates- v2.xlsx
    16.1 KB · Affichages: 8

Patrick Zed

XLDnaute Nouveau
Super merci, cela fait au moins 1 mois que je cherche, je me disais que je n'en étais pas loin ….. mais si ! MOD connais pas , SOMMEPROD non plus d'ailleurs.
Top , merci Mapomme, maintenant il faut que je cherche à comprendre comment ca marche .
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…