compter nb occurences par date

fran13

XLDnaute Nouveau
Bonsoir les As,
Après avoir longuement essayé les nb.si et autres sommeprod et autres aide trouvées sur votre site, je ne parviens pas à sortir ce que je veux de mon tableau alors je demande votre aide!!!
Il s'agit de gérer des navires par dates et par bon de livraison (BL)...
J'ai essayé avec les TCD mais le champ bl original contient trop de données,5000 et plus car en évollution et il refuse de les prendre en compte, (trop de données)!

J'ai nommé les colonnes du nom des étiquettes.

Donc dans mon tableau je voudrais insérer des champs qui me comptent ce que je veux faire apparaître, pour ensuite faire un graphique, en évitant le vba si possible... parce que ça me fait un peu peur...

A B C D E
date navire compagnie ligne bl
15/7 N1 C1 L1 BL1
15/7 N2 C1 L2 BL2
15/7 N3 C2 L3 BL3
15/7 N3 C2 L4 BL3
15/7 N3 C3 L2 BL4
16/7 N1 C1 L1 BL5
16/7 N2 C2 L3 BL6
16/7 N4 C2 L6 BL6
17/7 N1 C1 L2 BL8
17/7 N1 C2 L3 BL8
17/7 N3 C2 L3 BL9
17/7 N5 C4 L1 BL7

j'ai créé un champ déterminant le changement de date :
A B C D E F
date navire compagnie ligne bl date diff
15/7 N1 C1 L1 BL1 =SI(OU(A2=A1;A1="date");"";A2)
15/7 N2 C1 L2 BL2
15/7 N3 C2 L3 BL3
15/7 N3 C2 L4 BL3
15/7 N3 C3 L2 BL4
16/7 N1 C1 L1 BL5
16/7 N2 C2 L3 BL6
16/7 N4 C2 L6 BL6
17/7 N1 C1 L2 BL8
17/7 N1 C2 L3 BL8
17/7 N3 C2 L3 BL9
17/7 N5 C4 L1 BL7

ce champ inscrit la date quand elle change mais je ne sais pas comment l'utiliser, je pensais que ça m'aurait aidé à pouvoir recommencer un calcul...

J'ai ajouté un champ plus simplement pour compter le nb d'occurences de navires par date mais ça additionne même en triant le champ navire.

A B C D E F G
date navire compagnie ligne bl date diff nb occ navire
15/7 N1 C1 L1 BL1 =NB.SI(NAVIRE;B2)
15/7 N2 C1 L2 BL2
15/7 N3 C2 L3 BL3
15/7 N3 C2 L4 BL3
15/7 N3 C3 L2 BL4
16/7 N1 C1 L1 BL5 16/7
16/7 N2 C2 L3 BL6
16/7 N4 C2 L6 BL6
17/7 N1 C1 L2 BL8 17/7
17/7 N1 C2 L3 BL8
17/7 N3 C2 L3 BL9
17/7 N5 C4 L1 BL7

Ce qui donne :

A B C D E F G
date navire compagnie ligne bl date diff nb occ navire
15/7 N1 C1 L1 BL1 4
15/7 N2 C1 L2 BL2 2
15/7 N3 C2 L3 BL3 4
15/7 N3 C2 L4 BL3 4
15/7 N3 C3 L2 BL4 4
16/7 N1 C1 L1 BL5 16/7 4
16/7 N2 C2 L3 BL6 2
16/7 N4 C2 L6 BL6 1
17/7 N1 C1 L2 BL8 17/7 4
17/7 N1 C2 L3 BL8 4
17/7 N3 C2 L3 BL9 4
17/7 N5 C4 L1 BL7 1

A noter que je ne suis pas pro et sortie de mes 10 formules utilisée je suis out des matricielles etc!

Ce que je voudrais obtenir c'est qu'il ne décompte le nb total de navires qu'à la dernière occurence dans la plage de date, pour n'utiliser que certaines données dans les graphiques. A noter que dans les TCD qui pourraient me fournir des recoupements le champ des BL contient tellement d'occurences dans le fichier original, qu'il ne peut pas en tenir compte; et c'est pourquoi je cherche à le simplifier.

J'espère que mon exemple vous est clair (éclaire) sinon je peux vous l'envoyer par email. S'il n'y a pas de solution avec les formules je ferai un pas en vba!!!

Merci d'avance de vos lumières expertes dont j'ai souvent profitées.

A bientôt. et merci
 

Pièces jointes

  • NAVIRES.xls
    17 KB · Affichages: 53

chris

XLDnaute Barbatruc
Re : compter nb occurences par date

Bonjour

Pas sûre d'avoir bien compris ce que tu veux compter :
  • nombre de navires par date
  • nombre de bl par date
  • nombre de navires par bl
  • nombre de navires par bl et par date : mais peut-il y avoir un même BL à des dates différentes ?
En formules Excel c'est sans doute faisable mais si tu as beaucoup de lignes ça va ramer.

Moi je ferais cela avec Access.
Alors j'ai nommé la plage de données "Base" et utilisé MSQUERY, qui utilise la logique des bases comme Access, afin de faire cela par requête SQL . A partir d'un classeur vierge cela marche.
Par exemple
SELECT base.DATE, count(base.NAVIRE) as NB_nav
FROM `M:\tempo\NAVIRES`.base base group by base.DATE
donne le nombre de navires/date
 

chris

XLDnaute Barbatruc
Re : compter nb occurences par date

Bonjour JHA

En fait tu as le même problème que mon sql : les bateaux sont comptés plusieurs fois par date.

Il faut donc déboublonner d'où mes craintes que ça rame sur une grosse base.

En Access j'y arrive en chaînant 2 requêtes mais avec msquery ce n'est pas ça.

On doit pouvoir faire du sql directement avec vba et ado (ou dao je confonds souvent !)
 

Statistiques des forums

Discussions
312 319
Messages
2 087 213
Membres
103 494
dernier inscrit
JP9231