For i trop lent...besoin d'aide sur Tableau type tbl(,)

erics83

XLDnaute Impliqué
Bonjour,

J'aurai besoin d'un petit coup de pouce sur l'utilisation des tableaux. Je me suis penché sur les tutos de JB, mais je n'ai pas tout compris sur la "ré-utilisation" des tableaux, et donc, j'utilise les For I......mais c'est vraiment très/trop lent....
Je mets en PJ une partie du code : il s'agit de faire un Gantt, à partir de la feuille "BD". Donc je "lis" les données dans "BD" et je colorie les cases comprises entre les dates.(Gantt quoi...lol), mais c'est vraiment trop lent, et je suis persuadé qu'un Tbl pourrait être plus rapide.....mais j'ai besoin d'un petit coup de pouce....je vois bien que l'on peut "stocker" toutes les données dans un tableau, mais c'est la restitution qui me pose problème....surtout lorsque je veux "merger" sur les parties colorées (=donc merger entre la date de début et de fin...)

En vous remerciant pour votre aide,
 

Pièces jointes

  • Essai tableau.xlsm
    36.9 KB · Affichages: 41
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonsoir Eric

Il faut dans un premier temps modifier
For i = 2 To Sheets("BD").Range("A65000").End(xlUp).Row par

With Sheets("BD")
derlig = .Range("A" & Rows.Count).End(xlUp).Row
For i = 2 to derlig

Inutile de le faire aller jusqu'à 65000, si tu n'a qu'à peine 12 ligne pleines. Et met les variables à Long, qui ont plus de portées que Integer.
 
Dernière édition:

erics83

XLDnaute Impliqué
Merci Lone-wolf,

Effectivement, c'est plus logique....lol Merci,

En parallèle, j'ai continué à chercher et j'ai trouvé une partie de ma solution (=sur les merges), j'utilise la méthode FIND pour identifier les dates début/fin, puis je merge....Fichier en PJ. Enfin, merci JB, je me suis inspiré de son tuto sur la recherche des mots....

Par contre, je reste persuadé qu'avec un Tbl, ce serait plus rapide (je compile des données et j'arrive vite à 7000-8000 lignes en "BD" et donc....pas rapide-rapide le code avec For I......

Merci pour ton aide,
 

Pièces jointes

  • Essai tableau.xlsm
    37.5 KB · Affichages: 45

erics83

XLDnaute Impliqué
Bonjour et Merci Pierre,

Effectivement cette version est vraiment très sympa....Suivant tes conseils et tutos de JB, je suis en train de travailler sur un Gantt sans lien extérieur (souviens toi mon problème, avec mes collègues qui déplacent régulièrement le fichier et donc problème pour trouver la source...). J'ai une version, nettement moins "jolie" que la tienne, notamment sur les shapes, que je mettrais dans mon post "Gantt simplifié", mais j'ai encore juste ce petit souci sur la rapidité du code, et lorsque j'ai voulu voir ton code, il est protégé....donc je ne peux pas voir la logique et/ou l'utilisation des Tbl() s'il y en a...

En te remerciant,
Eric
-------------------------------------------------------------------------------------
Bonjour et merci Lone-wolf,

Approche intéressante effectivement, et qui gagne un peu en rapidité par rapport à For I, par contre pas de merge ? mais j'ai compris la logique et je vais un peu creuser....

En te remerciant,
Eric
 
Dernière édition:

erics83

XLDnaute Impliqué
Merci Lone-wolf,
oui, j'avais compris que tu me montrais une autre manière de voir le code et je t'en remercie, l'approche est plus rapide que For I, enfin, d'après mes premiers tests....mais les Tbl, c'est encore plus rapide....;)

merci pour ton aide,
 

Discussions similaires