Performances de la macro lente lorsque les sauts de page sont visibles dans Excel

Traductions disponibles Traductions disponibles
Numéro d'article: 199505 - Voir les produits auxquels s'applique cet article
Pour obtenir une version Microsoft Excel 97 de cet article, reportez-vous à la section. 145598.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous exécutez un Visual Basic pour Applications de Microsoft Macro (VBA) dans une version ultérieure de Microsoft Excel, la macro peut prendre plue longtemps qu'il le fait versions antérieures d'Excel. Par exemple, une macro qui nécessitaient plusieurs secondes Pour terminer dans une version antérieure d'Excel peut nécessiter plusieurs minutes Terminer dans une version ultérieure d'Excel.

Vous pouvez également, si vous exécutez une macro une seconde fois, la macro peut prendre deux fois plus de temps pour s'exécuter comme il l'a fait la première fois.

Cause

Ce problème peut se produire si les conditions suivantes sont True :
  • La macro VBA modifie les propriétés d'un grand nombre lignes ou colonnes.
  • Vous avez effectué une opération qui ont forcé d'Excel calculer les sauts de page. Excel calcule les sauts de page lorsque vous effectuez l'une de la opérations suivantes :
    • Vous affichez un aperçu avant impression de votre feuille de calcul.
    • Dans Microsoft Office Excel 2003 et dans les versions antérieures d'Excel, vous dans le menu fichier , cliquez sur Mise en Page .

      Dans Microsoft Office Excel 2007, vous cliquez sur Page Programme d'installationdans la barre d'outils accès rapide.

      Remarque : Vous devrez peut-être ajouter manuellement cette option à la barre d'outils.
    • Vous modifiez les propriétés de l'objet PageSetup dans une macro VBA.
  • Dans Excel 2003 et dans les versions antérieures d'Excel, vous sélectionnez laLes sauts de page case à cocher sous l'onglet affichage de la boîte de dialogue Options .

    Dans Excel 2007, vous cliquez sur le Bouton Microsoft Office, cliquez sur Excel Options, cliquez sur le Avancée catégorie et cliquez sur pour sélectionner le Afficher les sauts de page case à cocher sous la Affichage options pour cette feuille de calcul section.
Ce problème se produit si votre macro définit une propriété PageSetup ou si vous définissez manuellement une propriété PageSetup , puis exécutez une macro VBA qui définit propriétés sur une grande plage de lignes ou colonnes.

Lorsque vous définissez une propriété PageSetup , calcul automatique des sauts de page est activée dans Excel. Par défaut, cette propriété n'est pas définie.

Contournement

Pour contourner ce problème, appliquez une des opérations suivantes méthodes.

Méthode 1: Désactivation manuelle de l'affichage de sauts de page

Pour ce faire dans Excel 2003 et dans les versions antérieures d'Excel, procédez comme étapes suivantes :
  1. Cliquez sur Options sur le Outils menu.
  2. Cliquez sur le Affichage TAB. Options de la fenêtre, désactivez laLes sauts de page . Cliquez sur OK.
Pour ce faire dans Excel 2007, procédez comme suit :
  1. Cliquez sur le Bouton Microsoft Office, puis Cliquez sur Options Excel.
  2. Cliquez sur le Avancée catégorie, puis Cliquez pour effacer la Afficher les sauts de page case à cocher sous laAfficher les options pour cette feuille de calcul section.

Méthode 2: Désactiver l'affichage de sauts de page par programme

Microsoft Fournit des exemples de programmation à titre d'illustration uniquement, sans garantie expresse ou implicite. Ceci inclut, mais n'est pas limité l'implicite garanties de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation qui est en cours Cela est indiqué et les outils utilisés pour créer et déboguer procédures. Ingénieurs du support technique Microsoft peuvent vous expliquer les fonctionnalités d'un procédure particulière, mais ils ne modifieront pas ces exemples pour fournir ajouté fonctionnalité ou construction des procédures répondant à vos besoins spécifiques.

Pour désactiver l'affichage de sauts de page par programme, ajoutez la ligne suivante de code de votre macro VBA.
ActiveSheet.DisplayPageBreaks = False
				
Important : Vous devez insérer cette ligne de code après la modification de la propriétés de l'objet PageSetup , mais avant de modifier les propriétés ou les lignes sur votre feuille de calcul.
Remarque Il s'agit d'un article de « PUBLICATION RAPIDE » rédigé directement au sein du service de support technique Microsoft. Les informations qui y sont contenues sont fournies en l'état, en réponse à des problèmes émergents. En raison du délai rapide de mise à disposition, les informations peuvent contenir des erreurs typographiques et, à tout moment et sans préavis, faire l'objet de révisions. Pour d'autres considérations, consultez les Conditions d'utilisation.

Propriétés

Numéro d'article: 199505 - Dernière mise à jour: lundi 18 février 2013 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002
  • Microsoft Excel 2000 Standard
Mots-clés : 
kbdtacode kbprb kbprint kbmt KB199505 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 199505
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com