Macro excel ralenti après insertion ligne VB

Fermé
rvz Messages postés 35 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 8 octobre 2008 - 6 oct. 2008 à 22:07
 gorf le vil - 18 mai 2009 à 12:32
Bonjour,

Je rumine grrrrrrrrrrr

J'insère des lignes avec une macro.
Et ensuite, plus j'insère des lignes, plus les macros (surtout les boucles) tournent au ralenti alors qu'au départ elles sont instantanées (Je n'insère que quelques lignes, pas des milliers).
En fermant et réouvrant le classeur, les macros refonctionnent à la vitesse normale curieusement avec le nombre de lignes augmentées.

D'où ma question : " Comment retourner à la situation initiale sans fermer le classeur ??"

PS : l'écran est figé.

Svp, si quelqu'un a une solution !!!!
Merci

RV
A voir également:

8 réponses

gorf le vil
18 mai 2009 à 12:32
salut
j'ai rencontré le même problème et je l'ai résolu.
En fait le ralentissement vient de l'affichage durant le déroulement de la macro.
Donc, pour éviter de faire galérer ta macro à cause de la mise à jour de l'affichage des cellules
tu insères en début de macro

Application.DisplayAlerts = False
Application.ScreenUpdating = False

début macro
#
#
fin macro

Application.DisplayAlerts = True
Application.ScreenUpdating = True

en espèrant que ceci résolve ton problème
2
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
6 oct. 2008 à 23:54
Bonsoir,

ben si tu mettais ta macro ici ou encore mieux ton classeur sur www.cijoint.fr/ en collant ici le lien fourni ça serait un bon début.
Au passage précise ta version et ta taille mémoire....
eric
-1
rvz Messages postés 35 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 8 octobre 2008
7 oct. 2008 à 21:35
Bonjour Eriic,

merci de ta participation parce que je rame lol
J'ai windows XP.


http://www.cijoint.fr/cjlink.php?file=cj200810/cij63R2huj.xls

Quand je fais insérer,les lignes s'insèrent mais au bout de 2 à 3 fois, l'exécution de toutes les macros ralentissent.
Ne regardent pas trop la beauté de mes macros, je travaille dur à m'améliorer.

Si tu as une idée !!!

Merci

Rv
-1
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
8 oct. 2008 à 06:28
Bonjour,

Comment veux chercher qcq chose là dedans ?
Il y a 50 modules, tu as le droit de faire le ménage, de supprimer ceux qui sont vides (clic-droit) et de rassembler les macro utiles dans un même module.
J'ai testé 'insérer' et je n'ai pas de ralentissement, ça plante tout de suite, et à différents endroits...
Soit plus précis sur l'utilisation de la macro.
Ou positionner le curseur ?
Quelle sélection de cellule ?
Quelle feuille ?
Et précise
etc

eric
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rvz Messages postés 35 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 8 octobre 2008
8 oct. 2008 à 20:10
Bonsoir Eriic,

Ok,je supprime les macros inutiles mais pour rassembler dans les modules, là j'avoue que je ne sais pas.
Je suis en train de contruire l'outil et je tatonne beaucoup parce que je ne connais absoluement pas les bases de VB.

Je vais déjà tenter de découvrir les modules ;-)

Pour l'insertion de ligne c'est vrai qu'il faut que je sois plus précis et que je mette des indications.

Pourtant,si tu insères des lignes entre ptr et ptnr (10 au moins), et que tu ajoutes le nom du remplaçant grace à la validation, la macro de l'onglet s'exécute chez moi et au boulot moins vite que si l'outil vient d'être refermé et rouvert.

Je le remet en ligne soulagé des macros inutiles (et je regarde pour ces modules )

http://www.cijoint.fr/cjlink.php?file=cj200810/cijj1x4iE0.xls
Comment fait on pour supprimer l'ancien ?

Désolé d'embêter le monde et surtout toi

Hervé
-1
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
8 oct. 2008 à 20:34
Ben t'as supprimé aucun module, tjs 50...

Ceux qui sont vides (double-clic sur le nom du module pour l'ouvrir avant) :
clic droit dessus, 'supprimer module.n', exporter : non

Les macros dispersées :
Copier le code et le coller dans le module principal, tu peux en garder 2 ou 3 autres si tu désires pour les classer si elles sont nombreuses.

si tu insères des lignes entre ptr et ptnr
Ca ne parle qu'à toi...
Décris réellement ce qu'il faut faire.
Feuille '2' sélectionner les lignes 10:32 (ou bien A10:F32 ce qui est différent), cliquer ici, saisir ça, et là ça fait ça au lieu de ça
-1
rvz Messages postés 35 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 8 octobre 2008
8 oct. 2008 à 21:45
re-bonsoir

J'ai ramé pour les modules mais c'est fait lol (Il n'apparaissait pas chez moi) et effectivement il y en avait beaucoup (Quoiqu' il faut que je vois à quoi ils servent exactement )

Si tu vas en C13 et tu appuies sur INSERER des lignes s'insèrent (J'ai changé le message) (2 lignes pour un agent:ligne pair pour le nom et ligne impaire pour le remplaçant éventuel).Recommencer pour l'agent suivant.
A force d'insérer, je remarque que, par exemple, la macro du code de la feuille( qui se déclenche quand on se place sur les lignes impaires des jours pour mettre le nom du remplaçant encore dispo) est de plus en plus longue à s'exécuter.
Par contre,après avoir inséré les lignes, si je ferme le classeur et je le rouvre, la macro est rapide comme prévu.
(Mais ce n'est pas pratique de fermer et rouvrir)

Je ne comprend pas.

http://www.cijoint.fr/cjlink.php?file=cj200810/cijMkPF49J.xls

J'espère m'être bien exprimer car je suis quelqu'un qui se comprend très bien mais qui explique mal :-( (Pareil au boulot d'ailleurs (Pas marrant pour mes collaborateurs de ma suivre))

Merci encore Eriic

RV
-1
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
8 oct. 2008 à 23:38
Bon je suis désolé je ne peux rien tester, c'est trop bugué.
Dès la 2nde insertion en C13 il me dit de sélectionner une ligne impaire...
Fait marcher tes macros en pas à pas (en mettant un point d'arret au début) pour contrôler.
Quand tout sera débugué ça marchera sans doute mieux ;-)
-1