Trier des dates avec une référence décalée différemment

Bonjour,

Je sollicite votre aide pour résoudre le problème suivant:

Mes données:

  • En E3 j'ai une date.
  • En B2 un entier compris entre 1 et 120
  • En B5 un entier compris entre 1 et 12

Ce que je souhaite faire:

Je voudrais (à partir de A10) décaler la date en E3 d'autant de mois prévus en B2 et B5 et que les dates soient triées dans le bon ordre.

Exemple:

E3= 01/01/2010

B2= 12

B5= 5

Je souhaite afficher

01/06/2010 en A10

01/11/2010 en A11

01/01/2011 en A12

01/04/2011 en A13

01/09/2011 en A14

01/01/2012 en A15

Je vous remercie par avance de votre aide.

A très bientôt,

Maxime.

Bonjour et bienvenue

En A10 :

=SI(E3="";"";MOIS.DECALER($E$3;$B$5))

En A11 :

=SI(OU(A10="";LIGNES($1:1)>=$B$2);"";MOIS.DECALER(A10;$B$5))

Cette seconde formule est à tirer vers le bas.

Amicalement

Nad

Bonjour,

Notre ami souhaite insérer la date du 1er janvier de chaque année.

Je propose cette formule en A10 :

=MOIS.DECALER($E$3;LIGNES($1:1)*$B$5)

et en A11 :

=SI(ANNEE(A10)<>ANNEE(MOIS.DECALER($E$3;(LIGNES($1:2)-SOMMEPROD((TEXTE($A$10:A10;"jjmm")="0101")*1))*$B$5));DATE(ANNEE(MOIS.DECALER($E$3;LIGNES($1:2)*$B$5));1;1);MOIS.DECALER($E$3;(LIGNES($1:2)-SOMMEPROD((TEXTE($A$10:A10;"jjmm")="0101")*1))*$B$5))

à recopier vers le bas

Il est probable qu'on puisse simplifier cette dernière formule.

Je laisse déjà Darzou tester

@+

Merci de vos réponses.

Hélas j'ai testé mais ça ne fonctionne pas pour les raisons suivantes:

Nad: Ta formule ne me prend pas en compte la récurrence de B2

Thibo: La date en E3 n'est pas forcement le 01/01 donc je pense qu'il faudrait changer ton SOMMEPROD((TEXTE($A$10:A10;"jjmm")="0101") pour prendre en compte le jour et le mois de E3 mais je ne sais pas comment faire ...

Autre chose: B5 peut être > B2

Ci-joint le fichier.

24test.xlsx (10.55 Ko)

re,

Peux-tu nous remettre un fichier sur lequel tu nous mettrais manuellement le résultat attendu sur davantage de lignes

A te (re)lire

@+

Voilà !!

En gros je veux afficher sur une même colonne et triées les dates que tu retrouveras dans les colonnes M et N de ce fichier.

Merci.

-- 17 Déc 2010, 13:41 --

Et si possible en évitant les doublons ...

18test2.xlsx (10.87 Ko)

re,

Sur la base de ton dernier fichier, cette proposition :

en A9 :

=$E$3

en A10 :

=MOIS.DECALER($E$3;LIGNES($1:1)*$B$5)

en A11 :

=SI(ANNEE(A10)<>ANNEE(MOIS.DECALER($E$3;(LIGNES($1:2)-SOMMEPROD((TEXTE($A$10:A10;"jjmm")=
TEXTE($E$3;"jjmm"))*1))*$B$5));DATE(ANNEE(MOIS.DECALER($E$3;LIGNES($1:2)*$B$5));MOIS($E$3);
JOUR($E$3));MOIS.DECALER($E$3;LIGNES($1:2)-SOMMEPROD((TEXTE($A$10:A10;"jjmm")=TEXTE($E$3;
"jjmm"))*1))*$B$5))

Cette dernière formule est à recopier vers le bas

Je te laisse vérifier

@+

Je vous remercie encore de m'aider sur ce problème mais votre formule ne fonctionne toujours pas ... Elle me renvoie au 04/02/2451 en A11. Je m'en remet donc à nouveau à votre aide en espérant ne pas trop abuser de votre temps.

Cdlt,

Maxime

-- 18 Déc 2010, 01:09 --

A noter aussi que les cellules B2 et B5 sont à remplir par l'utilisateur. elles ne contiennent donc pas forcement les valeurs 5 et 12. Or ta dernière formule n'intègre pas non plus les variations de B2.

Cdlt,

Maxime

Bonjour,

Un tout petit souci de parenthèse lors du Copier Coller.

La formule rectifiée en B11 :

=SI(ANNEE(B10)<>ANNEE(MOIS.DECALER($E$3;(LIGNES($1:2)-SOMMEPROD((TEXTE(B$10:B10;"jjmm")=TEXTE($E$3;"jjmm"))
*1))*$B$5));DATE(ANNEE(MOIS.DECALER($E$3;LIGNES($1:2)*$B$5));MOIS($E$3);JOUR($E$3));
MOIS.DECALER($E$3;(LIGNES($1:2)-SOMMEPROD((TEXTE(B$10:B10;"jjmm")=TEXTE($E$3;"jjmm"))
*1))*$B$5))

Voir avec le fichier joint

@+

24darzou.xlsx (10.66 Ko)

Bonjour,

Merci de continuer à m'aider mais votre formule ne me convient toujours pas ...

Elle fonctionne certes si l'on a 12 en B2 et 5 en B5 mais si par exemple B5 passe à 6, elle affiche 20/01/2011 à partir de B11 et ce jusqu'à la fin. De plus ta formule n'intègre pas un changement de B2.

Les cellules B2 et B5 sont à remplir par l'utilisateur.

Je vous remercie de votre patience,

A très bientôt,

Maxime

-- 18 Déc 2010, 12:20 --

En fait je voudrais qu'excel m'affiche, quelles que soient les valeurs en B2 et B5, les mois.decaler(E3;B2) et mois.decaler(E3;B5) dans l'ordre et en évitant les doublons.

Cdlt,

Maxime

re,

Peux-tu nous rejoindre un fichier avec suffisamment de lignes exemple (20 ou 30) pour qu'on puisse tester sur une série suffisamment grande.

Pour le moment, je n'ai pas compris à quoi servait B2

A te (re)lire avec un fichier exemple plus complet et davantage d'explications.

@+

Re,

Je vous ai mis 2 autres exemples avec les explications nécessaires.

Merci pour votre aide.

Cdlt,

Maxime

18test3.xlsx (13.14 Ko)

re,

Avec un fichier plus complet, ça devient un peu plus clair.

Je te propose une solution avec une formule matricielle :

en A9, pas compliqué :

=E3

en A10, une formule matricielle :

=MIN(MIN(SI(MOIS.DECALER($E$3;LIGNE(INDIRECT(1&":"&$E$4/$B$5))*$B$5)>A9;MOIS.DECALER($E$3;LIGNE(INDIRECT(1&":"&$E$4/$B$5))*$B$5)));MIN(SI(MOIS.DECALER($E$3;LIGNE(INDIRECT(1&":"&$E$4/$B$2))*$B$2)>A9;MOIS.DECALER($E$3;LIGNE(INDIRECT(1&":"&$E$4/$B$2))*$B$2))))

Formule matricielle à valider par CTRL + MAJ + ENTREE

à recopier vers le bas

Appliquer un format personnalisé : jj/mm/aaaa;; pour masquer l'affichage des zéros à la fin de la liste.

Je te laisse tester

@+

Merci beaucoup !!! C'est ce qu'il me fallait. Je me suis juste permis de rajouter un petit si(A9=0;0;votre formule) parce que juste la première cellule après la fin de la série affichait 0 ensuite la série recommençait.

Bref, encore un grand merci pour votre aide.

Je vous souhaite de joyeuses fêtes.

Cdlt,

Maxime

Rechercher des sujets similaires à "trier dates reference decalee differemment"