Recherchev multiple et format date

Bonjour,

Tout d'abord merci pour ce site que je trouve riche en informations pour pouvoir se perfectionner sur Excel.
Cela fait deux jours que je navigue pour la création d'un fichier de suivi/calendrier et je bute sur un problème de format. Le fichier est en PJ et voici la description de son mode de fonctionnement

Dans l'onglet Calendrier se trouve une sorte de planning pour 3 personnes qui placent eux même des lieux de rdv en fonction de leur disponibilité. Ces lieux sont identifiés par des codes que l'on retrouve dans l'onglet Suivi recettes et j'ai besoin de faire apparaitre la date de rdv issue du calendrier pour réaliser une vérification des prérequis du rdv ainsi que le décompte des jours restants dans le tableau de suivi.

Or, le seul moyen que j'ai trouvé pour rapatrier la date (calendrier/D) dans (suivi/C) est de faire une suite de RECHERCHEV. C'est là que je rencontre mon problème de format, car la formule casse le format date, et les calculs qui sont réalisés à partir de cette colonne sont faux (Statut recette, PDOE).

Si j'utilise : =SIERREUR(RECHERCHEV([@Code];'Calendrier'!F:L;7;FAUX);"")
==> format date OK mais recherche dans une seule colonne

Si j'utilise : =SIERREUR(RECHERCHEV([@Code];'Calendrier'!F:L;7;FAUX);"")
&SIERREUR(RECHERCHEV([@Code];'Calendrier'!G:L;6;FAUX);"") etc...
==> date au format nombre de type 44050 et impossible de passer au format date

Si j'utilise : =SIERREUR(TEXTE(RECHERCHEV([@Code];'Calendrier'!F:L;7;FAUX);"JJ/MM/AAAA");"")
&SIERREUR(TEXTE(RECHERCHEV([@Code];'Calendrier'!G:L;6;FAUX);"JJ/MM/AAAA");"") etc...
==> date au format texte qui perturbe les calculs des autres colonnes

Si j'utilise : =INDEX(Calendrier;(EQUIV([@Code];'Calendrier'!F:F;0));4)
==> format date OK mais recherche dans une seule colonne, et problème de décalage de mon index (je ne trouve pas pourquoi)

Si j'utilise : =INDEX(Calendrier;(EQUIV([@Code];'Calendrier'!F:F;0));4)
&INDEX(Calendrier;(EQUIV([@Code];'Calendrier'!F:F;0));4) etc...
==> je n'ai plus rien

Je n'utilise peut-être pas la bonne méthodologie depuis le début, ou bien il me manque une dernière chose à faire pour arriver à afficher mes dates correctement, c'est pourquoi je sollicite votre expertise sur le sujet.

Merci d'avance pour votre aide.

Bonjour,

44050 correspond bien à une date valide, et apparait donc sous forme de date si le format de la cellule est "Date". Dans le cas où ce nombre est stocké sous forme de texte, il suffit de le convertir avec une fonction du genre =(TaFormule)*1 ou =CNUM(TaFormule).

Idem avec une date stockée sous forme de texte ("JJ/MM/AAAA"), convertible par fonction : =(TaFormule)*1 ou =DATEVAL(TaFormule). Attention, il arrive que les mois et jours soient intervertis pour les jours <= 12 avec ces fonctions.

J'ouvre le fichier pour me pencher d'un peu plus près sur le problème.

La structure de votre calendrier ne facilite pas son exploitation...

Une proposition :

=SIERREUR(MOYENNE.SI(Calendrier[Matin (P)];[@Code];Calendrier[Date]);0)+SIERREUR(MOYENNE.SI(Calendrier[Après-midi (P)];[@Code];Calendrier[Date]);0)+SIERREUR(MOYENNE.SI(Calendrier[Matin (F)];[@Code];Calendrier[Date]);0)+SIERREUR(MOYENNE.SI(Calendrier[Après-midi (F)];[@Code];Calendrier[Date]);0)+SIERREUR(MOYENNE.SI(Calendrier[Matin (L)];[@Code];Calendrier[Date]);0)+SIERREUR(MOYENNE.SI(Calendrier[Après-midi (L)];[@Code];Calendrier[Date]);0)

En l'absence de résultat, la fonction renvoie 0 (qu'il est possible de masquer par MFC).

Ouah, je te remercie pour cette réponse ultra rapide !

J'ai commencé par tester les formules de conversion, sans succès. La date restant au format nombre. En revanche, la dernière solution proposée semble marcher comme il faut, je retrouve le fonctionnement de mes calculs sur la base de la date, et j'ai grisé le texte pour les valeurs à 0 avec la mise en forme conditionnelle. Par contre je ne comprends pas comment fonctionne la formule avec le cumul +SIERREUR et MOYENNE.SI.

Oui, ma structure ne facilite pas les choses, j'ai l'impression d'avoir fait une usine à gaz.

Tu as 6 formules MOYENNE.SI qui fonctionnent comme une recherche (une date étant convertible en nombre, on peut faire des moyennes ou des sommes par exemple). N'ayant pas de doublon, seule une des 6 formules renverra une date (d'ou l'addition des 6 formules qui aboutie donc à la seule date trouvée). L'ajout des SIERREUR permet de remplacer les #DIV/0! (= pas de résultat trouvé dans la colonne) par des 0, et ainsi permettre le bon fonctionnement de la somme globale.

Ok, ton explication est très claire, et cela permet en cas de doublon de le voir tout de suite car la date reportée est très lointaine.

Ok, ton explication est très claire, et cela permet en cas de doublon de le voir tout de suite car la date reportée est très lointaine.

Merci du retour, pense à valider le sujet !

Rechercher des sujets similaires à "recherchev multiple format date"