Pb rang sur dates non classées

Fermé
Tine80 - 19 juin 2008 à 21:08
 Tine80 - 22 juin 2008 à 20:52
Bonjour,

Voilà mon infortune :
J'ai en colonne C (nommée Idates) une liste de dates non triées
J'ai besoin de donner en col A une référence à chaque ligne en fonction de
Le mois et un tiret MOIS(C3)&"-"&
Un numéro d'ordre dans le mois donné… et c'est là que je pêche…

Dans l'idée, je dois
1 - Compter le nombre de lignes pour ce mois (j'en ai un paquet !):
Ça, après pas mal de recherches, j'ai trouvé, mais je ne comprends pas cette formule !!! si quelqu'un peut me traduire...
=NB.SI(Idates;">"&DATE(ANNEE(C3);MOIS(C3);0))-NB.SI(Idates;">"&DATE(ANNEE(C3);MOIS(C3)+1;0))

2 - affecter un numéro d'ordre pour chaque ligne d'un mois
Ça j'ai beau chercher, je suis en panne
Cette formule : =SI(ESTVIDE(C3);"";MOIS(C3)&"-"&RANG(C3;$C$3:$C$122;1))
Ne me rends évidemment pas un numéro unique pour peu que j'ai 2 fois la même date…
Ne se contient pas au nombre de lignes que j'ai pour un mois donné
(par exemple, si j'ai 9 dates en janvier, je veux avoir 1-1;1-2;...;1-9, même si j'ai 2 dates identiques)

3 - combiner le tout pour arriver à ma formule
Ça j'y arriverai peut être, mais après votre aide…

Merci d'avance...

3 réponses

chtilou Messages postés 1696 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 30 avril 2012 523
20 juin 2008 à 09:40
Bonjour.

Le mois et un tiret MOIS(C3)&"-"&
Un numéro d'ordre dans le mois donné… et c'est là que je pêche…


=MOIS(C3)&"-"&LIGNE()

0
Merci, Chtilou, mais j'ai du mal m'expliquer : ma référence doit donner le numéro du mois et l'ordre des dates dans ce mois, et tout ça sans doublon :

date réf
01/01/08 1-1
07/03/08 3-2
15/02/08 2-8
12/01/08 1-2
03/03/08 3-1
07/03/08 3-3

pour mars, j'ai une ligne le 3 (3-1) et deux lignes le 7 (3-2 et 3-3)

j'étais partie sur la fonction RANG(), mais je n'arrive pas à intégrer dans ma formule le nombre de dates pour le mois x. Le résultat, c'est que pour le 1 avril, j'ai la référence 4-65 au lieu de 4-1 avec la formule
=SI(ESTVIDE(F6);"";MOIS(F6)&"-"&RANG(F6;Idates;1))
Avec la fonction ligne() que tu me proposes, j'arrive au même résultat...
L'idée, c'est de changer ma plage Idates par une plage qui ne prend que les lignes du mois de F6

J'espère avoir été plus claire...
merci quand même...
Tine
0
Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
21 juin 2008 à 12:08
Salut Tine,
ta colonne C contenant les dates se nomme "Idates" ; sur le même principe, tu insères une colonne que tu nommes "Imois", par exemple la colonne D. La formule dans cette colonne est =MOIS(C3)
Ta formule magique sera alors :
=D3&"-"&SOMMEPROD((IMois=D3)*(Idates<C3))+NB.SI($C$3:C3;C3)
Si on décompose :
SOMMEPROD((IMois=D3)*(Idates<C3)) donne le nombre de fois qu'on trouve une date dans le mois avant la date concernée.
Avec NB.SI($C$3:C3;C3), on incrémente à chaque fois qu'on trouve la date concernée.

Attention au changement d'année !
Pour que ton fichier supporte le passage à 2009, la formule dans Imois devrait tenir compte du mois ET de l'année.
par exemple, D3 =ANNEE(C3)&TEXTE(MOIS(C3);"00")
A suivre...
0
Super Ivan !! tu m'as bien dépannée ... Hoé

Ok ça fonctionne exactement comme j'avais besoin... merci...

Pour le changement d'année, je suis pas inquiète, c'était prévu, je me réfère à une autre feuille qui donne l'année et j'ai un fichier par an donc... pas de souci...

Merci encore

Tine
0