TooFatBoy
XLDnaute Barbatruc
Bonjour,
J'ai encore et toujours des questions étranges pour vous.
J'ai un fichier Excel de deux onglets.
Le 1er onglet n'a que deux colonnes (seule la deuxième de ces deux colonnes m'est utile) qui contiennent des données sur 500 000 lignes. Ces deux colonnes sont au format TEXTE.
J'ai une macro qui fait des copies de groupes de lignes de cette deuxième colonne vers l'autre onglet.
Les données à copier dépendent de certains critères et l'endroit où les copier aussi.
Jusque là pas de problème, j'arrive à obtenir ce que je veux.
Le problème vient du temps d'exécution de la macro pour faire toutes ces copies (plus de 12 000 copies de groupes de lignes + des mises en forme + des MFC).
Ca dure plus de 35 minutes ! Donc pour faire patienter et surtout pour savoir où en est le travail, j'ai eu la génialissime idée de créer un UserForm qui se décrémente. Mais Excel est toujours dans l'état "Ne répond pas" jusqu'à ce qu'il ait terminé le boulot, donc je ne suis pas avancé...
En fait, je vois bien la valeur initiale se décrémenter mais seulement pendant quelques secondes. Après, l'affichage se fige.
J'ai tenté un "REPAINT" du UserForm à chaque fois que je décrémente la valeur, mais ce n'est pas mieux.
Quel est le problème ?
Cela vient-il du fait qu'Excel garde la main et ne la rend pas à Windows qui ne peut donc rafraîchir le UserForm ?
Quelle solution est-elle envisageable ?
Merci par avance à ceux qui pourront m'aiguiller.
PS : je ne peux anonymiser le fichier vu les 500 000 lignes...
J'ai encore et toujours des questions étranges pour vous.
J'ai un fichier Excel de deux onglets.
Le 1er onglet n'a que deux colonnes (seule la deuxième de ces deux colonnes m'est utile) qui contiennent des données sur 500 000 lignes. Ces deux colonnes sont au format TEXTE.
J'ai une macro qui fait des copies de groupes de lignes de cette deuxième colonne vers l'autre onglet.
Les données à copier dépendent de certains critères et l'endroit où les copier aussi.
Jusque là pas de problème, j'arrive à obtenir ce que je veux.
Le problème vient du temps d'exécution de la macro pour faire toutes ces copies (plus de 12 000 copies de groupes de lignes + des mises en forme + des MFC).
Ca dure plus de 35 minutes ! Donc pour faire patienter et surtout pour savoir où en est le travail, j'ai eu la génialissime idée de créer un UserForm qui se décrémente. Mais Excel est toujours dans l'état "Ne répond pas" jusqu'à ce qu'il ait terminé le boulot, donc je ne suis pas avancé...
En fait, je vois bien la valeur initiale se décrémenter mais seulement pendant quelques secondes. Après, l'affichage se fige.
J'ai tenté un "REPAINT" du UserForm à chaque fois que je décrémente la valeur, mais ce n'est pas mieux.
Quel est le problème ?
Cela vient-il du fait qu'Excel garde la main et ne la rend pas à Windows qui ne peut donc rafraîchir le UserForm ?
Quelle solution est-elle envisageable ?
Merci par avance à ceux qui pourront m'aiguiller.
PS : je ne peux anonymiser le fichier vu les 500 000 lignes...
Dernière édition: