Boucle For trop lente
Résolu/Fermé
A voir également:
- Boucle For trop lente
- Pc trop lent - Guide
- Download instagram for pc - Télécharger - Divers Communication
- Saveaspdf.exe for office 2007 - Télécharger - Bureautique
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Idm for mac - Télécharger - Téléchargement & Transfert
12 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
21 août 2009 à 10:19
21 août 2009 à 10:19
Bonjour,
avant le départ de boucle écris cette ligne:
application.screenupdating=false
cela te fige le défilement de l'écran et fait gagner du temps.
avant le départ de boucle écris cette ligne:
application.screenupdating=false
cela te fige le défilement de l'écran et fait gagner du temps.
Bonjour michel_m,
merci pour ta réponse.
J'ai mis le application.screenupdating = false au de debut et en true à la fin.
malheureusement ça na rien changer.
en pas à pas, j'attend que la ligne jaune réapparaisse et sur la ligne cell(i,1).value=num elle met environ 2 sec a réaparaitre.
Est-ce du au déclaration de variable que j'ai omise (Je sais pas quoi mettre)?
merci pour ta réponse.
J'ai mis le application.screenupdating = false au de debut et en true à la fin.
malheureusement ça na rien changer.
en pas à pas, j'attend que la ligne jaune réapparaisse et sur la ligne cell(i,1).value=num elle met environ 2 sec a réaparaitre.
Est-ce du au déclaration de variable que j'ai omise (Je sais pas quoi mettre)?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
21 août 2009 à 11:12
21 août 2009 à 11:12
Bonjour,
Peut être est ce cette ligne qui ralentit la fonction :
If Cells(i, 1).Interior.ColorIndex = 36 Then
Comme vous désirez tester si la cellule n'est pas une lettre essayez ceci :
If Application.IsNonText(Cells(i, 1).Value) = True Then
Peut être est ce cette ligne qui ralentit la fonction :
If Cells(i, 1).Interior.ColorIndex = 36 Then
Comme vous désirez tester si la cellule n'est pas une lettre essayez ceci :
If Application.IsNonText(Cells(i, 1).Value) = True Then
Merci Pijaku,
J'ai remplacer comme indiquer, mais la boucle reste super lente.... la cause ne vient pas de là.
Je ne saisi pas, pour moi la boucle est bonne.... :s
d'autres idées ?
J'ai remplacer comme indiquer, mais la boucle reste super lente.... la cause ne vient pas de là.
Je ne saisi pas, pour moi la boucle est bonne.... :s
d'autres idées ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
21 août 2009 à 11:29
21 août 2009 à 11:29
re, bonjour pijaku
je viens de faire une maquette de ta procédure et je n'ai eu aucun problème de temps...
pour mémoire, voilà ce que j'ai fait:
https://www.cjoint.com/?ivlB5yz0tU
essaies chez toi et dis nous le résultat
je viens de faire une maquette de ta procédure et je n'ai eu aucun problème de temps...
pour mémoire, voilà ce que j'ai fait:
https://www.cjoint.com/?ivlB5yz0tU
essaies chez toi et dis nous le résultat
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
21 août 2009 à 11:37
21 août 2009 à 11:37
Chez moi ça se fait en une fraction de secondes (sur 1600 lignes)... Pas comprendre...
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
21 août 2009 à 11:42
21 août 2009 à 11:42
Un classeur > 2 Mo pose souvent des problèmes.... (pour ma part je ne dépasse jamais 1 Mo en utilisant plusieurs classeurs mais...)
en attendant, sauvegarde et sors d'Excel; ensuite, relance la b^te et retentes la macro
en attendant, sauvegarde et sors d'Excel; ensuite, relance la b^te et retentes la macro
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
21 août 2009 à 11:46
21 août 2009 à 11:46
classeur > 2 Mo d'ou mon conseil d'éviter les couleurs etc...
A+
A+
Ok, donc c'est surement pas dut au code mais au fichier lui meme.....
J'ai lancer la macro sur le fichier en lien sur le mien et le probleme est le meme.
Apparement mon fichier fais un recalcul automatique je sais pas pkoi ... :(
J'ai lancer la macro sur le fichier en lien sur le mien et le probleme est le meme.
Apparement mon fichier fais un recalcul automatique je sais pas pkoi ... :(
J'ai trouver,
il s'agissait bien du recalcul de la feuille.
j'ai mis Application.Calculation = xlManual avant la boucle et après elle a fusée.
Un grand merci pour le temps passé!
il s'agissait bien du recalcul de la feuille.
j'ai mis Application.Calculation = xlManual avant la boucle et après elle a fusée.
Un grand merci pour le temps passé!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
21 août 2009 à 12:02
21 août 2009 à 12:02
Message annulé... content pour toi