Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
non, j'y ai pensé mais le problème est que mon fichier de départ fait plus de 20000 lignes et 84 colonnes et in fine le résultat de la macro doit être envoyé par mail à plusieurs personnes. il faut donc de toutes façon que je réduise sa taille
testée sur un fichier de 84 colonnes et 20000 lignes cette macro dure environ 0.2 seconde
Peux-tu t'en inspirer et tester ?
Code:
Sub suppression()
Application.ScreenUpdating = False
Columns("CD:DE").Delete
Columns("Z:AB").Delete
Columns("K:X").Delete
Columns("F:H").Delete
Columns("B:E").Delete
Application.ScreenUpdating = True
End Sub
Attention a respecter l'ordre inverse des colonnes pour ne pas perturber la numerotatio
Private Declare Function GetTickCount Lib "kernel32" () As Long
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 18/01/2008 par lguez
'
Dim t1, t2 As Long
Dim temps1 As Long
je n'ais pas GetTikCount dans ma version (2000) et je ne sais pas trop a quoi correspond 32984 ou 35843
mon PC n'est pas particulierement veloce (Pentium4 2,8 Ghz ) et a moins que tu sois sous ZX81 (mon tout premier PC) le temps max devrait etre de l'ordre de 1 seconde
Je viens d'essayer avec Timer cela donne 32 et 35 secondes !!!
je travail sur XP pro et Excel 2000 SP3
N'y aurai t'il pas une configuration sous excel pour gérer la mémoire. Celle de windows à été configurée par les ingénieurs système
Je ne vois pas sinon pourquoi il y a une telle différence entre tes 2s et mes 35s si ce n'est à cause d'un nombre E/S plus important ?
Ce qui est également étrange est que les autre fonction utilisées dans le programme ont un temps d'exécution correct.
Bonjour
Pierre Jean a raison...
Mais...il faut ajouter:
Application.ScreenUpdating = False
au debut de la macro
Application.ScreenUpdating = true
à la fin de la macro (avant le end sub)
Comme il a fait
pour ma part je ne peux que constater la difference entre un matos drivé par des ingenieurs système (au pluriel SVP) et celui piloté par un vieil amateur (bientot septuagenaire)
il est vrai que je tourne sous windows XP familial et et Office 2000 avec un PC tout jeune (Pentium 4 2,8 Ghz 1Giga de memoire )
J'ai déjà essayé avec SreenUpdating et Calculation cela n'a pas changé les performances.
J'ai pu gagner 1/2 heures sur l'exécution globale de la macro en remplaçant les delete par des copy-paste et mettant à blanc les colonnes en trops mais je continue à chercher sur un extrait qui ne fait que les range-delete pourquoi je met autant de temps?
Sinon j'ai un PC Portable 1Go Ram sous XP Pro SP2 et c'est un Pentium à 133 MHz
Effectivement dans les colonne que je supprime, j'ai enormement de données type texte, date ou montant. et je pense aussi que cela doit avoir un impact. Mais en retirant le calcul automatique cela n'a rien changé, donc ...
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD