[vba] Boucles for imbriquées, macro lente

Rizlonggrain

XLDnaute Nouveau
Bonjour,

J'ai besoin de vos lumières !
J’ai réalisé un programme vba qui est beaucoup trop lent ! J’aimerais avoir vos conseils concernant de possibles évolutions !

Les données se présentent de la façon suivante : une colonne, représentant des objets, et une autre, donnant des dates de réalisation d’opérations liées à ces objets.
Il peut y avoir plusieurs opérations et donc plusieurs dates par objet.

Le but du programme est :
- Dans un 1er temps, de trouver pour chaque objet la date la plus ancienne;
- Dans un 2nd temps, de comparer ces dates et de donner la date la plus récente et son objet associé.

Le programme que j’ai réalisé fonctionne mais est très lent (seulement 100 à 200 lignes de données à traiter et plusieurs minutes d’exécution).

Si vous avez des pistes pour l’améliorer ou même une méthode différente (peut être avec des recherchev ?? je ne vois pas trop comment faire..), ce serait génial !
Merci d’avance et bonne soirée !
 

Pièces jointes

  • dates début.xlsm
    14.4 KB · Affichages: 114

Rizlonggrain

XLDnaute Nouveau
Re : [vba] Boucles for imbriquées, macro lente

J'ai en effet posé ma question à plusieurs endroits. Ce sont les forums sur lesquels je trouvais des infos habituellement. Et n'utilisant ces forums qu'à travers des recherche, je ne pouvais pas trop juger de l'activité de chacun d'eux. Du coup je me pensais toucher un maximum de gens en agissant ainsi! Désolé si cela a pu être interprété négativement..
Cela reste des forums distincts, non? :)
 

flyonets44

XLDnaute Occasionnel
Re : [vba] Boucles for imbriquées, macro lente

Bonjour
Je te retourne ton fichier avec mes modifs; il faut autant que possible "typer" les variables, çà accélère l'éxécution du code.
Ta macro est lente car tu réalises 5 tests successifs! si tu veux améliorer qqchose c'est sur ce point qu'il faut réfléchir.
Enfin tu pourrais aussi passer par des tableaux pour accroître la vitesse
Cordialement
Flyonets
 

Pièces jointes

  • dates_début.xls
    41.5 KB · Affichages: 142

Bebere

XLDnaute Barbatruc
Re : [vba] Boucles for imbriquées, macro lente

bonjour Rizlonggrain,Kiki,Flyonets
une autre proposition avec countif,find et mondico
un doute avec la 2ème date,à voir
à bientôt
 

Pièces jointes

  • DatesDébut.xls
    53 KB · Affichages: 126
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : [vba] Boucles for imbriquées, macro lente

bonjour Pierrejean
comment vas-tu,toujours bon pied bon oeil
le résultat du code de Pierrejean(il y a des dates jour mois ex:6/1 doit être 1/6) est en a:c,le mien en e:g
code module code_début_station corrigé
à bientôt
 

Pièces jointes

  • DatesDébutPJ.xls
    73.5 KB · Affichages: 91
  • DatesDébutPJ.xls
    73.5 KB · Affichages: 91
  • DatesDébutPJ.xls
    73.5 KB · Affichages: 84

pierrejean

XLDnaute Barbatruc
Re : [vba] Boucles for imbriquées, macro lente

Re

Hello Bebere
Pour le pied et l'oeil tout va bien !!!

Merci pour le signalement du passage de 01/06 à 06/01

Version corrigée ci-jointe

Il nous reste une petite difference:
pour moi les debuts sont en b , les derniers en c
il me semble que pour toi , en cas de debut et fin , la fin est f , le debut en g
 

Pièces jointes

  • DatesDébutPJ.zip
    22.8 KB · Affichages: 70

Bebere

XLDnaute Barbatruc
Re : [vba] Boucles for imbriquées, macro lente

oui Pierrejean la demande était ancienne,récente
changement effectué
à bientôt
 

Pièces jointes

  • DatesDébutPJ.xls
    64 KB · Affichages: 114
  • DatesDébutPJ.xls
    64 KB · Affichages: 119
  • DatesDébutPJ.xls
    64 KB · Affichages: 125

Discussions similaires

Réponses
24
Affichages
1 K

Statistiques des forums

Discussions
312 103
Messages
2 085 324
Membres
102 862
dernier inscrit
Emma35400