Bonjour à toutes et à tous, 😱
J'ai un probleme que je n'arrive pas à expliquer. 😕
J'ai un fichier excel 2007 avec 1000 lignes sur 3000 colonnes et j'utilise une macro qui filtre sur les colonnes (en horizontale...) et tout fonctionne à merveille de maniere tres rapide. Moins d' 1 seconde pour faire tourner la macro. 😎
Mais dès que j'imprime ma zone d'impression (je l'ai definie sur une matrice de 1000*3000) et retente de lancer la macro et bien cela met au moins 1 minute pour quelle tourne !. Pareille quand j'annule la zone d'impression. 😡
Parcontre dès que je ferme le fichier et relance la macro, je retrouve une vitesse d'exécution normale (1 seconde). 😎
Je pense qu'il doit y avoir une sorte de memoire tampon que je dois vider apres l'impression mais je ne sais pas si c'est ca et comment fait-on ?
Est-ce quelqu'un peut m'aider ? 🙄
Merci 😎
Malka
Le fichier fait 12Mo et si cela peut aider voici ma macro en question :
Private Sub Btn_Ok_Click()
Dim x As Variant
Application.ScreenUpdating = False
Columns("E:XFD").EntireColumn.Hidden = False
For x = 5 To Range("XFD" & MaLigne).End(xlToLeft).Column
If Cells(MaLigne, x) <> Me.Lbx_Titre.Value Then
Columns(x).EntireColumn.Hidden = True
End If
Next
Calculate
Application.ScreenUpdating = True
End Sub
J'ai un probleme que je n'arrive pas à expliquer. 😕
J'ai un fichier excel 2007 avec 1000 lignes sur 3000 colonnes et j'utilise une macro qui filtre sur les colonnes (en horizontale...) et tout fonctionne à merveille de maniere tres rapide. Moins d' 1 seconde pour faire tourner la macro. 😎
Mais dès que j'imprime ma zone d'impression (je l'ai definie sur une matrice de 1000*3000) et retente de lancer la macro et bien cela met au moins 1 minute pour quelle tourne !. Pareille quand j'annule la zone d'impression. 😡
Parcontre dès que je ferme le fichier et relance la macro, je retrouve une vitesse d'exécution normale (1 seconde). 😎
Je pense qu'il doit y avoir une sorte de memoire tampon que je dois vider apres l'impression mais je ne sais pas si c'est ca et comment fait-on ?
Est-ce quelqu'un peut m'aider ? 🙄
Merci 😎
Malka
Le fichier fait 12Mo et si cela peut aider voici ma macro en question :
Private Sub Btn_Ok_Click()
Dim x As Variant
Application.ScreenUpdating = False
Columns("E:XFD").EntireColumn.Hidden = False
For x = 5 To Range("XFD" & MaLigne).End(xlToLeft).Column
If Cells(MaLigne, x) <> Me.Lbx_Titre.Value Then
Columns(x).EntireColumn.Hidden = True
End If
Next
Calculate
Application.ScreenUpdating = True
End Sub