BESOIN D'AIDE FONCTION DECALER ET RECHERCHEV

XROYER Messages postés 7 Statut Membre -  
Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je n'arrive pas à cumuler une fonction décaler() avec une fonction recherchev().

Je souhaite calculer une date B qui se situe X jours après une date A en tenant compte d'un calendrier de jours ouvrés sur un atelier.

A1 : date A
A2 : date B
D1 : décalage entre date A et date B (X jours ouvrés)

E1:E30 : liste des jours ouvrés d'un atelier triés par ordre croissant

Ma formule qui ne fonctionne pas :

DATE B =

= decaler(recherchev("A1";"E1:E30";1;FAUX);"D1";0;1;1)

Si quelqu'un peux m'aider, je serais vraiment très heureux !

MERCI
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  1. leplot Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   131
     
    Bonjour,

    la fonction decaler nécessite une référence or recherchev retourne une valeur.
    Il n'y a pas besoin de decaler.

    =INDEX(E1:E30;EQUIV(A1;E1:E30;1)+D1)

    Equiv donne le rang de A1 dans la plage de date. Le ";1" permet de donner la date inférieure si elle n'est pas dans la liste.

    Index : pointe dans une plage à un rang donné
    ici dans la plage E1:E30, le rang cherché est celui de A1 (equiv(...)) + D1

    En utilisant decaler :
    =DECALER(INDIRECT("E" & EQUIV(A1;E1:E30;1));D1;0)

    Equiv donne le rang de A1 dans la plage de date. Le ";1" permet de donner la date inférieure si elle n'est pas dans la liste.
    Indirect : permet d'avoir une référence composée de E et du rang.
    Decaler : pointe sur la référence cherchée et se décale de D1 lignes et 0 colonne

    NB : si la plage ne commence pas en ligne 1 mais en 5 par exemple la formule devient
    =DECALER(INDIRECT("E" & EQUIV(A1;E1:E30;1)+4);D1;0)
    car le rang 1 correspond à la ligne 5.

    Bonne continuation

    LePlot
    7