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

Fermé
EngineerinGirl Messages postés 14 Date d'inscription mercredi 9 novembre 2016 Statut Membre Dernière intervention 10 février 2017 - 2 févr. 2017 à 11:50
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 7 févr. 2017 à 18:35
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)

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
Modifié par pijaku le 7/02/2017 à 11:36
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 mercredi 9 novembre 2016 Statut Membre Dernière intervention 10 février 2017
7 févr. 2017 à 11:34
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > EngineerinGirl Messages postés 14 Date d'inscription mercredi 9 novembre 2016 Statut Membre Dernière intervention 10 février 2017
7 févr. 2017 à 11:36
Bonjour,

Le lien est de nouveau valide.

Salut Gb !
0
EngineerinGirl Messages postés 14 Date d'inscription mercredi 9 novembre 2016 Statut Membre Dernière intervention 10 février 2017
7 févr. 2017 à 12:01
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 lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
7 févr. 2017 à 18:35
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 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
2 févr. 2017 à 23:28
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 mercredi 9 novembre 2016 Statut Membre Dernière intervention 10 février 2017
7 févr. 2017 à 11:32
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