Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro ralenties par la vision des sauts de page

6 réponses
Avatar
Manbas
Bonjour à tous,
Voici mon problème
Les macros de mon classeur tournent normalement. Jusqu'au moment où je lance
une impression selon une mise en page prédeterminée!
Même après avoir remis "l'affichage normal" sur la feuille, les pointillés
noirs de sauts de page sont visibles (différent des surlignes bleues) sur la
feuille.
Tant que cet affichage est présent les macros sont alors ralenties au point
d'être inutilisables.
Tout rentre dans l'ordre à la fermeture-réouverture du classeur: les
pointillés ne sont plus visibles sur la feuille.
Que faire?
Merci de vos suggestions.

6 réponses

Avatar
Youky
Faire un test avec ceci...
Youky

Application.ScreenUpdating = False
'ta macro ici , l'affichage n'est plus géré
'une fois terminé on remets l'affichage normal
Application.ScreenUpdating = True

"Manbas" a écrit dans le message de news:

Bonjour à tous,
Voici mon problème
Les macros de mon classeur tournent normalement. Jusqu'au moment où je
lance une impression selon une mise en page prédeterminée!
Même après avoir remis "l'affichage normal" sur la feuille, les pointillés
noirs de sauts de page sont visibles (différent des surlignes bleues) sur
la feuille.
Tant que cet affichage est présent les macros sont alors ralenties au
point d'être inutilisables.
Tout rentre dans l'ordre à la fermeture-réouverture du classeur: les
pointillés ne sont plus visibles sur la feuille.
Que faire?
Merci de vos suggestions.



Avatar
Manbas
Merci Youki .J'y avais pensé, ce n'est pas ça.


"Youky" a écrit dans le message de news:

Faire un test avec ceci...
Youky

Application.ScreenUpdating = False
'ta macro ici , l'affichage n'est plus géré
'une fois terminé on remets l'affichage normal
Application.ScreenUpdating = True

"Manbas" a écrit dans le message de news:

Bonjour à tous,
Voici mon problème
Les macros de mon classeur tournent normalement. Jusqu'au moment où je
lance une impression selon une mise en page prédeterminée!
Même après avoir remis "l'affichage normal" sur la feuille, les
pointillés noirs de sauts de page sont visibles (différent des surlignes
bleues) sur la feuille.
Tant que cet affichage est présent les macros sont alors ralenties au
point d'être inutilisables.
Tout rentre dans l'ordre à la fermeture-réouverture du classeur: les
pointillés ne sont plus visibles sur la feuille.
Que faire?
Merci de vos suggestions.








Avatar
MichDenis
A ) Au lieu de définir par programmation la mise en page
que tu veux utiliser, utilise la commande Fichier / mise en page
Et lorsque cette dernière sera selon tes attentes, enregistre
ton classeur... la mise en page sera enregistrée au même titre
que tes données. Tu as droit à une mise en page par feuille de calcul
contenue dans ton classeur.

B ) Si tu utilises par programmation, quelque chose du genre :
With Worksheets("sonNom")
.PageSetup.PrintArea = "AdresseDeLaPlageAImprimer"
.Printout
'Tu ne dois pas oublier cette ligne de code
.PageSetup.PrintArea = ""
End With

Et bon travail !



"Manbas" a écrit dans le message de news:

Bonjour à tous,
Voici mon problème
Les macros de mon classeur tournent normalement. Jusqu'au moment où je lance
une impression selon une mise en page prédeterminée!
Même après avoir remis "l'affichage normal" sur la feuille, les pointillés
noirs de sauts de page sont visibles (différent des surlignes bleues) sur la
feuille.
Tant que cet affichage est présent les macros sont alors ralenties au point
d'être inutilisables.
Tout rentre dans l'ordre à la fermeture-réouverture du classeur: les
pointillés ne sont plus visibles sur la feuille.
Que faire?
Merci de vos suggestions.
Avatar
Manbas
Bonjour MichDenis.
Merci de t'intéresser à mon problème.
La feuille peut être de dimension très différente.
Une zone d'impression fixe : de A à N.
Plus une zone d'impression variable: des colonnes O à HH (avec au maximum 20
colonnes visibles, les autres réduites à la largeur zéro, et au minimum une
colonne visible).
Donc pour imprimer j'ai deux options qui je crois souscrivent à tes 2
remarques.
- La première solution a défini l'impression avant la programmation, par
Mise en Page/Feuille/Zone d'impression. C'est la solution que j'ai nommé
"impression rapide" pour l'utilisateur. La macro ne contient que
activesheet.printout. Eh bien le problème est quand même présent: les
pointillés subsistent sur la feuille et les codes VBA sont executés avec une
lenteur extrême
- La deuxième solution correspond à ton B). Je l'ai appelé "impression apres
formatage" au cas où l'edition par la première solution fournirait des pages
inutiles.Le probleme décrit est toujours le même, je n'avais pas mis
.PageSetup.PrintArea = "". Mais si je le rajoute ma première solution ne
fonctionnera peut-être plus?
Qu'importe, j'ai fais l'essai en rajoutant sur le bouton de sortie de mon
userform:
Application.ScreenUpdating = True (pour être certain)
ActiveSheet.PageSetup.PrintArea = "" avant de poursuivre les macros.
Effet obtenu: les pointillés sont déplacés sur la feuille, mais toujours
présents et la lenteur aussi!!!


"MichDenis" a écrit dans le message de news:
%23z$
A ) Au lieu de définir par programmation la mise en page
que tu veux utiliser, utilise la commande Fichier / mise en page
Et lorsque cette dernière sera selon tes attentes, enregistre
ton classeur... la mise en page sera enregistrée au même titre
que tes données. Tu as droit à une mise en page par feuille de calcul
contenue dans ton classeur.

B ) Si tu utilises par programmation, quelque chose du genre :
With Worksheets("sonNom")
.PageSetup.PrintArea = "AdresseDeLaPlageAImprimer"
.Printout
'Tu ne dois pas oublier cette ligne de code
.PageSetup.PrintArea = ""
End With

Et bon travail !



"Manbas" a écrit dans le message de news:

Bonjour à tous,
Voici mon problème
Les macros de mon classeur tournent normalement. Jusqu'au moment où je
lance
une impression selon une mise en page prédeterminée!
Même après avoir remis "l'affichage normal" sur la feuille, les pointillés
noirs de sauts de page sont visibles (différent des surlignes bleues) sur
la
feuille.
Tant que cet affichage est présent les macros sont alors ralenties au
point
d'être inutilisables.
Tout rentre dans l'ordre à la fermeture-réouverture du classeur: les
pointillés ne sont plus visibles sur la feuille.
Que faire?
Merci de vos suggestions.





Avatar
MichDenis
Ce que j'ai publié, ce n'est pas 2 façons de faire !

En fait, il est préférable de combiner les 2.

Pour ce qui est des "pointillé" cela dépend de l'option
définie dans "Menu" / outils / options / Onglet Affichage -
l'option "Saut de page" que tu peux cocher ou non manuellement
ou définir par programmation.

As-tu essayer de copier le contenu de ton classeur dans un autre classeur
Pour copier toutes les feuilles
Sheets.Copy
et manuellement, tu peux glisser à l'aide de la souris en gardant la touche
"contrôle" enfoncer, chacun des modules "Standard" ,"Classe"....en utilisant
la fenêtre de l'éditeur de code.

As-tu inséré des "sauts de page personnalisés" dans ta feuille ?
si oui enlève les. (préférablement avant de faire la copie du classeur)

Si tu as des plages non contigües que tu veux imprimer, rien ne t 'empêche
de boucler sur ces plages en définissant ces dernières avec PrintArea tel
que présenté dans mon message précédent...

Au delà de ça, je ne sais pas .... absent pour le reste de la journée.



"Manbas" a écrit dans le message de news:

Bonjour MichDenis.
Merci de t'intéresser à mon problème.
La feuille peut être de dimension très différente.
Une zone d'impression fixe : de A à N.
Plus une zone d'impression variable: des colonnes O à HH (avec au maximum 20
colonnes visibles, les autres réduites à la largeur zéro, et au minimum une
colonne visible).
Donc pour imprimer j'ai deux options qui je crois souscrivent à tes 2
remarques.
- La première solution a défini l'impression avant la programmation, par
Mise en Page/Feuille/Zone d'impression. C'est la solution que j'ai nommé
"impression rapide" pour l'utilisateur. La macro ne contient que
activesheet.printout. Eh bien le problème est quand même présent: les
pointillés subsistent sur la feuille et les codes VBA sont executés avec une
lenteur extrême
- La deuxième solution correspond à ton B). Je l'ai appelé "impression apres
formatage" au cas où l'edition par la première solution fournirait des pages
inutiles.Le probleme décrit est toujours le même, je n'avais pas mis
.PageSetup.PrintArea = "". Mais si je le rajoute ma première solution ne
fonctionnera peut-être plus?
Qu'importe, j'ai fais l'essai en rajoutant sur le bouton de sortie de mon
userform:
Application.ScreenUpdating = True (pour être certain)
ActiveSheet.PageSetup.PrintArea = "" avant de poursuivre les macros.
Effet obtenu: les pointillés sont déplacés sur la feuille, mais toujours
présents et la lenteur aussi!!!


"MichDenis" a écrit dans le message de news:
%23z$
A ) Au lieu de définir par programmation la mise en page
que tu veux utiliser, utilise la commande Fichier / mise en page
Et lorsque cette dernière sera selon tes attentes, enregistre
ton classeur... la mise en page sera enregistrée au même titre
que tes données. Tu as droit à une mise en page par feuille de calcul
contenue dans ton classeur.

B ) Si tu utilises par programmation, quelque chose du genre :
With Worksheets("sonNom")
.PageSetup.PrintArea = "AdresseDeLaPlageAImprimer"
.Printout
'Tu ne dois pas oublier cette ligne de code
.PageSetup.PrintArea = ""
End With

Et bon travail !



"Manbas" a écrit dans le message de news:

Bonjour à tous,
Voici mon problème
Les macros de mon classeur tournent normalement. Jusqu'au moment où je
lance
une impression selon une mise en page prédeterminée!
Même après avoir remis "l'affichage normal" sur la feuille, les pointillés
noirs de sauts de page sont visibles (différent des surlignes bleues) sur
la
feuille.
Tant que cet affichage est présent les macros sont alors ralenties au
point
d'être inutilisables.
Tout rentre dans l'ordre à la fermeture-réouverture du classeur: les
pointillés ne sont plus visibles sur la feuille.
Que faire?
Merci de vos suggestions.





Avatar
Manbas
Bingo!
Je ne savais pas que les pointillés étaient commandés par une case à cocher
dans l'affichage.
Avec Activesheet.DisplayAutomaticPageBreaks = False tout rentre dans l'ordre
!!!
Merci ++++ MichDenis
A bientôt


"MichDenis" a écrit dans le message de news:

Ce que j'ai publié, ce n'est pas 2 façons de faire !

En fait, il est préférable de combiner les 2.

Pour ce qui est des "pointillé" cela dépend de l'option
définie dans "Menu" / outils / options / Onglet Affichage -
l'option "Saut de page" que tu peux cocher ou non manuellement
ou définir par programmation.

As-tu essayer de copier le contenu de ton classeur dans un autre classeur
Pour copier toutes les feuilles
Sheets.Copy
et manuellement, tu peux glisser à l'aide de la souris en gardant la
touche
"contrôle" enfoncer, chacun des modules "Standard" ,"Classe"....en
utilisant
la fenêtre de l'éditeur de code.

As-tu inséré des "sauts de page personnalisés" dans ta feuille ?
si oui enlève les. (préférablement avant de faire la copie du classeur)

Si tu as des plages non contigües que tu veux imprimer, rien ne t 'empêche
de boucler sur ces plages en définissant ces dernières avec PrintArea tel
que présenté dans mon message précédent...

Au delà de ça, je ne sais pas .... absent pour le reste de la journée.



"Manbas" a écrit dans le message de news:

Bonjour MichDenis.
Merci de t'intéresser à mon problème.
La feuille peut être de dimension très différente.
Une zone d'impression fixe : de A à N.
Plus une zone d'impression variable: des colonnes O à HH (avec au maximum
20
colonnes visibles, les autres réduites à la largeur zéro, et au minimum
une
colonne visible).
Donc pour imprimer j'ai deux options qui je crois souscrivent à tes 2
remarques.
- La première solution a défini l'impression avant la programmation, par
Mise en Page/Feuille/Zone d'impression. C'est la solution que j'ai nommé
"impression rapide" pour l'utilisateur. La macro ne contient que
activesheet.printout. Eh bien le problème est quand même présent: les
pointillés subsistent sur la feuille et les codes VBA sont executés avec
une
lenteur extrême
- La deuxième solution correspond à ton B). Je l'ai appelé "impression
apres
formatage" au cas où l'edition par la première solution fournirait des
pages
inutiles.Le probleme décrit est toujours le même, je n'avais pas mis
.PageSetup.PrintArea = "". Mais si je le rajoute ma première solution ne
fonctionnera peut-être plus?
Qu'importe, j'ai fais l'essai en rajoutant sur le bouton de sortie de mon
userform:
Application.ScreenUpdating = True (pour être certain)
ActiveSheet.PageSetup.PrintArea = "" avant de poursuivre les macros.
Effet obtenu: les pointillés sont déplacés sur la feuille, mais toujours
présents et la lenteur aussi!!!


"MichDenis" a écrit dans le message de news:
%23z$
A ) Au lieu de définir par programmation la mise en page
que tu veux utiliser, utilise la commande Fichier / mise en page
Et lorsque cette dernière sera selon tes attentes, enregistre
ton classeur... la mise en page sera enregistrée au même titre
que tes données. Tu as droit à une mise en page par feuille de calcul
contenue dans ton classeur.

B ) Si tu utilises par programmation, quelque chose du genre :
With Worksheets("sonNom")
.PageSetup.PrintArea = "AdresseDeLaPlageAImprimer"
.Printout
'Tu ne dois pas oublier cette ligne de code
.PageSetup.PrintArea = ""
End With

Et bon travail !



"Manbas" a écrit dans le message de news:

Bonjour à tous,
Voici mon problème
Les macros de mon classeur tournent normalement. Jusqu'au moment où je
lance
une impression selon une mise en page prédeterminée!
Même après avoir remis "l'affichage normal" sur la feuille, les
pointillés
noirs de sauts de page sont visibles (différent des surlignes bleues) sur
la
feuille.
Tant que cet affichage est présent les macros sont alors ralenties au
point
d'être inutilisables.
Tout rentre dans l'ordre à la fermeture-réouverture du classeur: les
pointillés ne sont plus visibles sur la feuille.
Que faire?
Merci de vos suggestions.