Lorsque, par Visual basic, je définie une zone d'impression différente pour
un certain nombre de feuilles (environs 150), la procédure est très longue à
s'exécuter.
J'utilise le code (extrait) suivant :
..............
'<<< PlgImp=Définition de la plage d'impression
PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address
With H.PageSetup
.PrintArea = PlgImp
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterHorizontally = True
.Orientation = xlPortrait
End With
..............
Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour
obtenir le même résultat ?
Merci à tous les Excelants.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jac
... peut-être qu'en sélectionnant toutes les feuilles concernées et en appliquant le PageSetup en une fois, ça pourrait devenir acceptable.
La plage d'impression variable pourrait se définir par une zone nommée dynamiquement par une macro qui boucle sur toutes les feuilles. Ça c'est rapide. donc la .PrintArea = PlgImp pourrait devenir .PrintArea = Zone (pas testé).
Jac
MiMa avait prétendu :
Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour un certain nombre de feuilles (environs 150), la procédure est très longue à s'exécuter. J'utilise le code (extrait) suivant : .............. '<<< PlgImp=Définition de la plage d'impression PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address With H.PageSetup .PrintArea = PlgImp .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 .CenterHorizontally = True .Orientation = xlPortrait End With .............. Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour obtenir le même résultat ? Merci à tous les Excelants.
... peut-être qu'en sélectionnant toutes les feuilles concernées et en
appliquant le PageSetup en une fois, ça pourrait devenir acceptable.
La plage d'impression variable pourrait se définir par une zone nommée
dynamiquement par une macro qui boucle sur toutes les feuilles. Ça
c'est rapide. donc la .PrintArea = PlgImp pourrait devenir .PrintArea =
Zone
(pas testé).
Jac
MiMa avait prétendu :
Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour
un certain nombre de feuilles (environs 150), la procédure est très longue à
s'exécuter.
J'utilise le code (extrait) suivant :
..............
'<<< PlgImp=Définition de la plage d'impression
PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address
With H.PageSetup
.PrintArea = PlgImp
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterHorizontally = True
.Orientation = xlPortrait
End With
..............
Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour
obtenir le même résultat ?
Merci à tous les Excelants.
... peut-être qu'en sélectionnant toutes les feuilles concernées et en appliquant le PageSetup en une fois, ça pourrait devenir acceptable.
La plage d'impression variable pourrait se définir par une zone nommée dynamiquement par une macro qui boucle sur toutes les feuilles. Ça c'est rapide. donc la .PrintArea = PlgImp pourrait devenir .PrintArea = Zone (pas testé).
Jac
MiMa avait prétendu :
Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour un certain nombre de feuilles (environs 150), la procédure est très longue à s'exécuter. J'utilise le code (extrait) suivant : .............. '<<< PlgImp=Définition de la plage d'impression PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address With H.PageSetup .PrintArea = PlgImp .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 .CenterHorizontally = True .Orientation = xlPortrait End With .............. Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour obtenir le même résultat ? Merci à tous les Excelants.
michdenis
Bonjour,
Les procédures de mise en page produites par VBA ont toujours été plutôt lentes à s'exécuter !
Mais tu peux très bien définir une mise en page pour une feuille donnée par la commande Fichier / mise en page et enregistrer ton fichier lorsque celle-ci est définie selon tes désirs. Excel va enregistrer la mise en page faite au même titre que tes données.
Ceci signifie qu'à chaque fois que tu imprimeras une plage de cette feuille, il appliquera la mise en page que tu as définie.
Tu as droit de définir une mise en page type par feuille.
Au moment de lancer l'impression, tu peux appliquer ceci pour spécifier la plage d'impression seulement. Ceci rendra ta procédure plus rapide.... '----------------------------------- Sub test() Dim PlgImp As String With Worksheets("Feuil1") PlgImp = .Range("A8").CurrentRegion.Offset(-5, 0).Address .PageSetup.PrintArea = PlgImp .PrintPreview 'à remplacer par PrintOut... .PageSetup.PrintArea = "" End With End Sub '-----------------------------------
Et selon tes besoins, il est possible d'utiliser la procédure événementielle du ThisWorkbook pour appeler la macro... '----------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub '-----------------------------
"MiMa" a écrit dans le message de groupe de discussion : 4b1302a0$0$19150$ Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour un certain nombre de feuilles (environs 150), la procédure est très longue à s'exécuter. J'utilise le code (extrait) suivant : .............. '<<< PlgImp=Définition de la plage d'impression PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address With H.PageSetup .PrintArea = PlgImp .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 .CenterHorizontally = True .Orientation = xlPortrait End With .............. Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour obtenir le même résultat ? Merci à tous les Excelants.
Bonjour,
Les procédures de mise en page produites par VBA ont toujours
été plutôt lentes à s'exécuter !
Mais tu peux très bien définir une mise en page pour une feuille
donnée par la commande Fichier / mise en page et enregistrer
ton fichier lorsque celle-ci est définie selon tes désirs. Excel va
enregistrer la mise en page faite au même titre que tes données.
Ceci signifie qu'à chaque fois que tu imprimeras une plage de cette
feuille, il appliquera la mise en page que tu as définie.
Tu as droit de définir une mise en page type par feuille.
Au moment de lancer l'impression, tu peux appliquer ceci pour
spécifier la plage d'impression seulement. Ceci rendra ta procédure
plus rapide....
'-----------------------------------
Sub test()
Dim PlgImp As String
With Worksheets("Feuil1")
PlgImp = .Range("A8").CurrentRegion.Offset(-5, 0).Address
.PageSetup.PrintArea = PlgImp
.PrintPreview 'à remplacer par PrintOut...
.PageSetup.PrintArea = ""
End With
End Sub
'-----------------------------------
Et selon tes besoins, il est possible d'utiliser la procédure événementielle
du ThisWorkbook pour appeler la macro...
'-----------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub
'-----------------------------
"MiMa" <NoSpamecemima@voila.fr> a écrit dans le message de groupe de discussion :
4b1302a0$0$19150$426a74cc@news.free.fr...
Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour
un certain nombre de feuilles (environs 150), la procédure est très longue à
s'exécuter.
J'utilise le code (extrait) suivant :
..............
'<<< PlgImp=Définition de la plage d'impression
PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address
With H.PageSetup
.PrintArea = PlgImp
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterHorizontally = True
.Orientation = xlPortrait
End With
..............
Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour
obtenir le même résultat ?
Merci à tous les Excelants.
Les procédures de mise en page produites par VBA ont toujours été plutôt lentes à s'exécuter !
Mais tu peux très bien définir une mise en page pour une feuille donnée par la commande Fichier / mise en page et enregistrer ton fichier lorsque celle-ci est définie selon tes désirs. Excel va enregistrer la mise en page faite au même titre que tes données.
Ceci signifie qu'à chaque fois que tu imprimeras une plage de cette feuille, il appliquera la mise en page que tu as définie.
Tu as droit de définir une mise en page type par feuille.
Au moment de lancer l'impression, tu peux appliquer ceci pour spécifier la plage d'impression seulement. Ceci rendra ta procédure plus rapide.... '----------------------------------- Sub test() Dim PlgImp As String With Worksheets("Feuil1") PlgImp = .Range("A8").CurrentRegion.Offset(-5, 0).Address .PageSetup.PrintArea = PlgImp .PrintPreview 'à remplacer par PrintOut... .PageSetup.PrintArea = "" End With End Sub '-----------------------------------
Et selon tes besoins, il est possible d'utiliser la procédure événementielle du ThisWorkbook pour appeler la macro... '----------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub '-----------------------------
"MiMa" a écrit dans le message de groupe de discussion : 4b1302a0$0$19150$ Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour un certain nombre de feuilles (environs 150), la procédure est très longue à s'exécuter. J'utilise le code (extrait) suivant : .............. '<<< PlgImp=Définition de la plage d'impression PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address With H.PageSetup .PrintArea = PlgImp .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 .CenterHorizontally = True .Orientation = xlPortrait End With .............. Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour obtenir le même résultat ? Merci à tous les Excelants.
michdenis
Il y a un fichier que j'ai commis expliquant une autre façon de procéder pour écrire le code, plus rapide ... voir là :
http://cjoint.com/?lEnFzLghGm
"michdenis" a écrit dans le message de groupe de discussion :
Bonjour,
Les procédures de mise en page produites par VBA ont toujours été plutôt lentes à s'exécuter !
Mais tu peux très bien définir une mise en page pour une feuille donnée par la commande Fichier / mise en page et enregistrer ton fichier lorsque celle-ci est définie selon tes désirs. Excel va enregistrer la mise en page faite au même titre que tes données.
Ceci signifie qu'à chaque fois que tu imprimeras une plage de cette feuille, il appliquera la mise en page que tu as définie.
Tu as droit de définir une mise en page type par feuille.
Au moment de lancer l'impression, tu peux appliquer ceci pour spécifier la plage d'impression seulement. Ceci rendra ta procédure plus rapide.... '----------------------------------- Sub test() Dim PlgImp As String With Worksheets("Feuil1") PlgImp = .Range("A8").CurrentRegion.Offset(-5, 0).Address .PageSetup.PrintArea = PlgImp .PrintPreview 'à remplacer par PrintOut... .PageSetup.PrintArea = "" End With End Sub '-----------------------------------
Et selon tes besoins, il est possible d'utiliser la procédure événementielle du ThisWorkbook pour appeler la macro... '----------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub '-----------------------------
"MiMa" a écrit dans le message de groupe de discussion : 4b1302a0$0$19150$ Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour un certain nombre de feuilles (environs 150), la procédure est très longue à s'exécuter. J'utilise le code (extrait) suivant : .............. '<<< PlgImp=Définition de la plage d'impression PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address With H.PageSetup .PrintArea = PlgImp .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 .CenterHorizontally = True .Orientation = xlPortrait End With .............. Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour obtenir le même résultat ? Merci à tous les Excelants.
Il y a un fichier que j'ai commis expliquant une autre façon de procéder
pour écrire le code, plus rapide ... voir là :
http://cjoint.com/?lEnFzLghGm
"michdenis" <michdenis@hotmail.com> a écrit dans le message de groupe de discussion :
E5F06A01-75E2-4F78-B929-34F7D55BB939@microsoft.com...
Bonjour,
Les procédures de mise en page produites par VBA ont toujours
été plutôt lentes à s'exécuter !
Mais tu peux très bien définir une mise en page pour une feuille
donnée par la commande Fichier / mise en page et enregistrer
ton fichier lorsque celle-ci est définie selon tes désirs. Excel va
enregistrer la mise en page faite au même titre que tes données.
Ceci signifie qu'à chaque fois que tu imprimeras une plage de cette
feuille, il appliquera la mise en page que tu as définie.
Tu as droit de définir une mise en page type par feuille.
Au moment de lancer l'impression, tu peux appliquer ceci pour
spécifier la plage d'impression seulement. Ceci rendra ta procédure
plus rapide....
'-----------------------------------
Sub test()
Dim PlgImp As String
With Worksheets("Feuil1")
PlgImp = .Range("A8").CurrentRegion.Offset(-5, 0).Address
.PageSetup.PrintArea = PlgImp
.PrintPreview 'à remplacer par PrintOut...
.PageSetup.PrintArea = ""
End With
End Sub
'-----------------------------------
Et selon tes besoins, il est possible d'utiliser la procédure événementielle
du ThisWorkbook pour appeler la macro...
'-----------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub
'-----------------------------
"MiMa" <NoSpamecemima@voila.fr> a écrit dans le message de groupe de discussion :
4b1302a0$0$19150$426a74cc@news.free.fr...
Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour
un certain nombre de feuilles (environs 150), la procédure est très longue à
s'exécuter.
J'utilise le code (extrait) suivant :
..............
'<<< PlgImp=Définition de la plage d'impression
PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address
With H.PageSetup
.PrintArea = PlgImp
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterHorizontally = True
.Orientation = xlPortrait
End With
..............
Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour
obtenir le même résultat ?
Merci à tous les Excelants.
Il y a un fichier que j'ai commis expliquant une autre façon de procéder pour écrire le code, plus rapide ... voir là :
http://cjoint.com/?lEnFzLghGm
"michdenis" a écrit dans le message de groupe de discussion :
Bonjour,
Les procédures de mise en page produites par VBA ont toujours été plutôt lentes à s'exécuter !
Mais tu peux très bien définir une mise en page pour une feuille donnée par la commande Fichier / mise en page et enregistrer ton fichier lorsque celle-ci est définie selon tes désirs. Excel va enregistrer la mise en page faite au même titre que tes données.
Ceci signifie qu'à chaque fois que tu imprimeras une plage de cette feuille, il appliquera la mise en page que tu as définie.
Tu as droit de définir une mise en page type par feuille.
Au moment de lancer l'impression, tu peux appliquer ceci pour spécifier la plage d'impression seulement. Ceci rendra ta procédure plus rapide.... '----------------------------------- Sub test() Dim PlgImp As String With Worksheets("Feuil1") PlgImp = .Range("A8").CurrentRegion.Offset(-5, 0).Address .PageSetup.PrintArea = PlgImp .PrintPreview 'à remplacer par PrintOut... .PageSetup.PrintArea = "" End With End Sub '-----------------------------------
Et selon tes besoins, il est possible d'utiliser la procédure événementielle du ThisWorkbook pour appeler la macro... '----------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub '-----------------------------
"MiMa" a écrit dans le message de groupe de discussion : 4b1302a0$0$19150$ Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour un certain nombre de feuilles (environs 150), la procédure est très longue à s'exécuter. J'utilise le code (extrait) suivant : .............. '<<< PlgImp=Définition de la plage d'impression PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address With H.PageSetup .PrintArea = PlgImp .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 .CenterHorizontally = True .Orientation = xlPortrait End With .............. Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour obtenir le même résultat ? Merci à tous les Excelants.
MiMa
Bonsoir MichDenis
Milles excuses pour le retard de ma réponse, mais j'ai été obligé de m'abscenter. Merci pour tous ces renseignements. Comme tu me le conseilles, je passe la définition de la zone d'impression au moment de l'impression. C'est effectivement plus rapide.
"michdenis" a écrit dans le message de news:
Il y a un fichier que j'ai commis expliquant une autre façon de procéder pour écrire le code, plus rapide ... voir là :
http://cjoint.com/?lEnFzLghGm
"michdenis" a écrit dans le message de groupe de discussion :
Bonjour,
Les procédures de mise en page produites par VBA ont toujours été plutôt lentes à s'exécuter !
Mais tu peux très bien définir une mise en page pour une feuille donnée par la commande Fichier / mise en page et enregistrer ton fichier lorsque celle-ci est définie selon tes désirs. Excel va enregistrer la mise en page faite au même titre que tes données.
Ceci signifie qu'à chaque fois que tu imprimeras une plage de cette feuille, il appliquera la mise en page que tu as définie.
Tu as droit de définir une mise en page type par feuille.
Au moment de lancer l'impression, tu peux appliquer ceci pour spécifier la plage d'impression seulement. Ceci rendra ta procédure plus rapide.... '----------------------------------- Sub test() Dim PlgImp As String With Worksheets("Feuil1") PlgImp = .Range("A8").CurrentRegion.Offset(-5, 0).Address .PageSetup.PrintArea = PlgImp .PrintPreview 'à remplacer par PrintOut... .PageSetup.PrintArea = "" End With End Sub '-----------------------------------
Et selon tes besoins, il est possible d'utiliser la procédure événementielle du ThisWorkbook pour appeler la macro... '----------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub '-----------------------------
"MiMa" a écrit dans le message de groupe de discussion : 4b1302a0$0$19150$ Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour un certain nombre de feuilles (environs 150), la procédure est très longue à s'exécuter. J'utilise le code (extrait) suivant : .............. '<<< PlgImp=Définition de la plage d'impression PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address With H.PageSetup .PrintArea = PlgImp .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 .CenterHorizontally = True .Orientation = xlPortrait End With .............. Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour obtenir le même résultat ? Merci à tous les Excelants.
Bonsoir MichDenis
Milles excuses pour le retard de ma réponse, mais j'ai été obligé de
m'abscenter.
Merci pour tous ces renseignements.
Comme tu me le conseilles, je passe la définition de la zone d'impression au
moment de l'impression. C'est effectivement plus rapide.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
A3996454-CF8A-4D34-A259-C82B8EAF46B4@microsoft.com...
Il y a un fichier que j'ai commis expliquant une autre façon de procéder
pour écrire le code, plus rapide ... voir là :
http://cjoint.com/?lEnFzLghGm
"michdenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion :
E5F06A01-75E2-4F78-B929-34F7D55BB939@microsoft.com...
Bonjour,
Les procédures de mise en page produites par VBA ont toujours
été plutôt lentes à s'exécuter !
Mais tu peux très bien définir une mise en page pour une feuille
donnée par la commande Fichier / mise en page et enregistrer
ton fichier lorsque celle-ci est définie selon tes désirs. Excel va
enregistrer la mise en page faite au même titre que tes données.
Ceci signifie qu'à chaque fois que tu imprimeras une plage de cette
feuille, il appliquera la mise en page que tu as définie.
Tu as droit de définir une mise en page type par feuille.
Au moment de lancer l'impression, tu peux appliquer ceci pour
spécifier la plage d'impression seulement. Ceci rendra ta procédure
plus rapide....
'-----------------------------------
Sub test()
Dim PlgImp As String
With Worksheets("Feuil1")
PlgImp = .Range("A8").CurrentRegion.Offset(-5, 0).Address
.PageSetup.PrintArea = PlgImp
.PrintPreview 'à remplacer par PrintOut...
.PageSetup.PrintArea = ""
End With
End Sub
'-----------------------------------
Et selon tes besoins, il est possible d'utiliser la procédure
événementielle
du ThisWorkbook pour appeler la macro...
'-----------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub
'-----------------------------
"MiMa" <NoSpamecemima@voila.fr> a écrit dans le message de groupe de
discussion :
4b1302a0$0$19150$426a74cc@news.free.fr...
Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente
pour
un certain nombre de feuilles (environs 150), la procédure est très longue
à
s'exécuter.
J'utilise le code (extrait) suivant :
..............
'<<< PlgImp=Définition de la plage d'impression
PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address
With H.PageSetup
.PrintArea = PlgImp
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterHorizontally = True
.Orientation = xlPortrait
End With
..............
Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour
obtenir le même résultat ?
Merci à tous les Excelants.
Milles excuses pour le retard de ma réponse, mais j'ai été obligé de m'abscenter. Merci pour tous ces renseignements. Comme tu me le conseilles, je passe la définition de la zone d'impression au moment de l'impression. C'est effectivement plus rapide.
"michdenis" a écrit dans le message de news:
Il y a un fichier que j'ai commis expliquant une autre façon de procéder pour écrire le code, plus rapide ... voir là :
http://cjoint.com/?lEnFzLghGm
"michdenis" a écrit dans le message de groupe de discussion :
Bonjour,
Les procédures de mise en page produites par VBA ont toujours été plutôt lentes à s'exécuter !
Mais tu peux très bien définir une mise en page pour une feuille donnée par la commande Fichier / mise en page et enregistrer ton fichier lorsque celle-ci est définie selon tes désirs. Excel va enregistrer la mise en page faite au même titre que tes données.
Ceci signifie qu'à chaque fois que tu imprimeras une plage de cette feuille, il appliquera la mise en page que tu as définie.
Tu as droit de définir une mise en page type par feuille.
Au moment de lancer l'impression, tu peux appliquer ceci pour spécifier la plage d'impression seulement. Ceci rendra ta procédure plus rapide.... '----------------------------------- Sub test() Dim PlgImp As String With Worksheets("Feuil1") PlgImp = .Range("A8").CurrentRegion.Offset(-5, 0).Address .PageSetup.PrintArea = PlgImp .PrintPreview 'à remplacer par PrintOut... .PageSetup.PrintArea = "" End With End Sub '-----------------------------------
Et selon tes besoins, il est possible d'utiliser la procédure événementielle du ThisWorkbook pour appeler la macro... '----------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
End Sub '-----------------------------
"MiMa" a écrit dans le message de groupe de discussion : 4b1302a0$0$19150$ Bonjour
Lorsque, par Visual basic, je définie une zone d'impression différente pour un certain nombre de feuilles (environs 150), la procédure est très longue à s'exécuter. J'utilise le code (extrait) suivant : .............. '<<< PlgImp=Définition de la plage d'impression PlgImp = Range("A8").CurrentRegion.Offset(-5, 0).Address With H.PageSetup .PrintArea = PlgImp .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 .CenterHorizontally = True .Orientation = xlPortrait End With .............. Existe-il un moyen accélérer le processus ? Ou bien une autre méthode pour obtenir le même résultat ? Merci à tous les Excelants.