Date et variable

Résolu
Bonjour,
voilà je cherche une formule qui pourrai faire si possible un rappel
je m'explique

voila dans une feuille :

colonne B=nom client et colonne D date de passage

B2=Dupont B3=Durant et B4=Martin
D2=2/04/15 D3=5/04/15 et D4=2/04/15

voila dans une autre feuille je voudrai trouver le moyen pour qui me rappel la date de passage et le nom client 21 jour avant la date en colonne D

sa sera peut être plus claire avec un fichier
https://www.cjoint.com/?0CjlcvBZdql

merci pour votre aide

5 réponses

  1. merci pour ton aide se n'est pas tout a fait ce que je cherche mais je vais essayé de faire avec merci
    -1
    1. Bonjour,

      Si c'est une question de présentation, renvoie le fichier avec tes desiderata, ou plutot un morceau de ton fichier, ou alors un exemple, mais EXHAUSTIF

      {=SIERREUR(SI(GRANDE.VALEUR(passage*(passage-21<AUJOURDHUI())*(passage>AUJOURDHUI())*LIGNE($K$1:$K$6);LIGNES($K$1:$K1))=0;"";INDEX(client;GRANDE.VALEUR((passage-21<AUJOURDHUI())*(passage>AUJOURDHUI())*LIGNE($K$1:$K$6);LIGNES($K$1:$K1))));"")}

      SI(GRANDE.VALEUR(passage*(passage-21<AUJOURDHUI())*(passage>AUJOURDHUI())*LIGNE($K$1:$K$6);LIGNES($K$1:$K1))=0
      On teste que l'expression ne renvoie pas 0 sinon

      SI(GRANDE.VALEUR(passage*(passage-21<AUJOURDHUI())*(passage>AUJOURDHUI())*LIGNE($K$1:$K$6);LIGNES($K$1:$K1))=0
      c'est matriciel

      grande.valeur() demande une matrice et un index (premier, deuxieme, etc...)
      c'est donner par LIGNES($K$1:$K1). Tu remarques que , a la fin , c'est $K1 qui devient $K2, etc en descendant.Donc LIGNES($K$1:$K1) prend les valeurs 1,2, etc quand on descent et donne la premiere, la deuxième, etc.. grande.valeur() - on peut mettre lignes($1:1) a la place -

      LIGNE($K$1:$K$6) - on aurait pu mettre ligne($1:$6) -, c'est une matrice, qui vaut {1,2,3,4,5,6} qui est multipliée par le matrice precedente qui donne {vrai faux,vrai,faux,faux,faux,faux} par exemple

      {1,2,3,4,5,6} x {vrai faux,vrai,faux,faux,faux,faux} =>{1,0,3,0,0,0}
      2 lignes repondent a la condition

      Grande.valeur({1,0,3,0,0,0};1)==>ligne(3)==>3, et la formule
      INDEX(client;GRANDE.VALEUR((passage-21<AUJOURDHUI())*(passage>AUJOURDHUI())*LIGNE($K$1:$K$6);LIGNES($K$1:$K1))))
      devient index(client;3)
      en decendant la formule on a Grande.valeur({1,0,3,0,0,0};2)
      index(client;1)

      d'ou le test au debut pour eliminer les valeurs zero qui ne veulent rien dire et ne rien ecrire dans la cellule

      Crdmt
      0
    2. @DjiDji59430quand je veux l'appliquer a mon classeur excel je change juste les plages de la formules et la c'est le drame je te joint mon fichier tu verra mieux

      https://www.cjoint.com/?3CkmHsZ4T1u

      encore merci
      0
    3. @dthorrJ'ai pas trop le temps tout de suite, mais deja je vois des incoherences de nature de variables dans tes colonnes (dans une colonne date, il ne faut que des dates, des vraies (qui donnent 42xxx en format standard)
      Et si tu veux chercher dans toute ta colonne, le$K6 devient $K1000
      fais deja ça,ça devrait aller mieux.
      Il faut ajuster toutes les matrices pour qu'elles aient le meme nombre de cellules correctes
      0
    4. @DjiDji59430merci sa fonctionne tres bien
      0
    5. @dthorrSi tu as fini, mets en résolu
      Crdmt
      0
  2. 0
    1. bonjour DjiDji59430

      alors quand j'essaye de l'adapter a mon fichier je n'y arrive pas je pense que je ne comprend pas la formule surtout la parti feuil2 nom client avec la formule LIGNE et LIGNES pourrai tu m'expliquer s'il te plait (ma plage passage contient 763 ligne je ne sais pas si sa a de l'importance )
      merci de ton aide
      0
  3. re
    quand j'ouvre mon classeur excel je voudrais que sur ma feuille 2 il me rappel le nom client et la date de passage trois semaine avant la date de passage
    sachant que j'ai sur le fichier environ 100 nom client et que la date de passage et la même pour environs 4 client a la fois
    j'espère être plus claire

    je rajoute le fichier un peut mieux expliquer j'espère
    https://www.cjoint.com/?0CjnjM2U0lf
    0
    1. re
      ce n'est pas se que je veux j'ai testé avec rechecheV mais si il y a plus 1 nom client pour la même date il ne me prend pas en compte les suivants et je voudrais les voir aussi
      0
      1. Contributeur
        Bonjour

        Votre question n'est pas claire, je ne vois pas l'utilité d'une rechercheV
        Ou alors je ne comprends pas votre question?
        0
    2. Contributeur
      Bonjour

      Essayer cette formule en C3 feuil2

      =Feuil1!D2-21
      0