Masquer,imprimer reafficher

Résolu/Fermé
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 - 1 sept. 2012 à 19:16
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 2 sept. 2012 à 00:30
Bonjour
j'ai une feuille dont je veux imprimer les lignes de 3 a 72
et masquer les lignes si dans colonne C la case est vide
et après le PrintPreview et imprimer ré afficher les lignes masqués
j'ai fait la macro qui fonctionne mais qui est trop longue a l exécution
je vous mets le fichier joint
https://www.cjoint.com/?BIbtfICtVLx
si vous pouvez me la corriger pour une exécution plus rapide et me dire ou est l'erreur
merci
a bientot
A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
1 sept. 2012 à 19:53
Bonjour,

Ton code est correct , tu peux l'accélérer avec :
Sub imprim()
'
' imprim Macro
Dim i%

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
     
    For i = 5 To 72
        Rows(i).Hidden = Range("C" & i) = 0
    Next

    ActiveSheet.PageSetup.PrintArea = "$C$3:$AC$72"
    ActiveSheet.PrintPreview
    Rows("5:72").Select
    Selection.EntireRow.Hidden = False
    Range("A1").Select
    
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True

End Sub



0
surplus Messages postés 675 Date d'inscription mardi 17 août 2010 Statut Membre Dernière intervention 14 novembre 2021 4
1 sept. 2012 à 20:05
bonjour
tu as rajoute
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
il y est 2 fois pourquoi cela accélère la macro ?
merci
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié par Patrice33740 le 2/09/2012 à 00:34
Cela évite qu'Excel perde son temps (et donc le tien !) à mettre à jour l'affichage et à refaire inutilement les calculs pendant le déroulement de la macro.

au début on interrompt ces opérations et à la fin on les restitue
0