Extraire toutes les dates d'un même mois avec VBA

EngineerinGirl Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis en train de créer une macro pour remplir des graphiques sur l'évolution d'une société de transport aérien. Il s'agit d'un fichier Excel dont chaque ligne représente un vol et ses infos, en particulier la date et la durée du vol. Le fichier comprend quelques 80.000 lignes depuis 2010.

J'ai crée un graphique avec l'année 2016 en abscisse (mois par mois) et le nombre d'heures de vol en ordonnée. Le problème c'est qu'il faut que je crée une macro qui aillent chercher tous les temps de vol de Janvier et les additionne, puis de Février, etc... Comment expliquer cette somme dans une macro ? Et comment indiquer à VBA de chercher toutes les dates de Janvier ? Les dates du fichier étant exprimées au format jj/mm/aaaa.

Ensuite j'ai préparé un petit tableau avec les mois sur une colonne et je dirai à VBA de remplir les cases en face par la somme qu'il vient de calculer. Et le graphique vient directement chercher ce petit tableau comme données.

Avez-vous des idées ?

En vous remerciant d'avance !
(PS: fichier confidentiel donc impossible de le partager)
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

Pour des données importantes il vaudrait mieux que tu mettes ta feuille en table mémoire.
Ensuite, il te suffit ce créer une table mémoire de 12 postes et en parcourant l'autre table il te suffit de cumuler les données concernées puis de coller ta table sur ton "petit tableau".

Voilà le principe et voici un exemple

https://www.cjoint.com/c/GBcwma4MLPl Il te faut bien sûr adapter en fonction de tes colonnes concernées.
Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.  Antoine de Saint-Exupéry
0
EngineerinGirl Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Le lien n'est plus valide malheureusement donc je n'ai pas pu y avoir accès... En revanche je vais faire des recherches sur les tables mémoires. Votre idée m'intéresse beaucoup car mon fichier est trop volumineux actuellement.

Je vous remercie :)
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761 > EngineerinGirl Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Le lien est de nouveau valide.

Salut Gb !
0
EngineerinGirl Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Merci !
Par contre, impossible de l'ouvrir sur l'ordi du boulot, "le format ou l'extension n'est pas valide". J'essaierai chez moi ce sera peut-être plus simple.

En revanche, peut-on m'en dire un peu plus sur les tables mémoires ? Je ne trouve pas d'infos à ce sujet sur internet, peut-être que cela porte un autre nom ?

Merci :)
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

"le format ou l'extension n'est pas valide"
Enregistre-le sur ton PC, parfois en plus de .xlsm il se rajoute .xlsx ce qui donne ton erreur : tu peux l'ouvrir en supprimant .xlsx

Je ne trouve pas d'infos à ce sujet
Voilà un tuto assez complet : https://silkyroad.developpez.com/vba/tableaux/
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonsoir, je pense que tu peux faire ce que tu souhaites, facilement et sans programmation, avec un graphique croisé dynamique. c'est une capacité de base de Excel.
0
EngineerinGirl Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Le problème c'est que je ne dois pas utiliser de TCD car trop volumineux.
En revanche j'ai trouvé une solution en utilisant la formule =SOMME.SI.ENS
Cela me permet en plus de ne pas faire de macro.
Je vous remercie :)
0