Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Symptômes

Lorsque vous utilisez la propriété location ou l' emplacement. adresse des sauts de page horizontaux ou horizontaux dans une macro Microsoft Visual Basic pour applications, le message d’erreur suivant peut apparaître :

Erreur au moment de l’exécution « 9 » : indice hors plage

Cause

Ce problème se produit lorsque les conditions suivantes sont remplies :

  • La cellule active se trouve au-dessus du saut de page horizontal ou à gauche du saut de page vertical qui est référencé par l’index HPageBreaks ou VPageBreaks .

  • L’emplacement du saut de page vertical ou horizontal est en dehors de l’écran à droite de la fenêtre visible ou sous la fenêtre visible du classeur.

  • Vous utilisez une macro Visual Basic pour applications dans Microsoft Excel de la même façon que le code suivant :

    Sub TestHorizontal()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.HPageBreaks.Count    MsgBox ActiveSheet.HPageBreaks(1).Location.Address    MsgBox ActiveSheet.HPageBreaks(2).Location.AddressEnd Sub Sub TestVertical()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.VPageBreaks.Count    MsgBox ActiveSheet.VPageBreaks(1).Location.Address    MsgBox ActiveSheet.VPageBreaks(2).Location.Address    MsgBox ActiveSheet.VPageBreaks(3).Location.AddressEnd Sub

Solution de contournement

Microsoft fournit des exemples de programmation uniquement à des fins d’illustration, sans garantie, expresse ou implicite. Cela comprend, sans s’y limiter, les garanties implicites en matière de qualité marchande ou d’adéquation à un but particulier. Cet article part du principe que vous êtes familiarisé avec le langage de programmation présenté et avec les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support Microsoft peuvent vous aider à expliquer les fonctionnalités d’une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités ajoutées ou des procédures de construction adaptées à vos besoins spécifiques. Pour éviter ce problème, ajoutez du code pour sélectionner la dernière cellule utilisée dans la feuille de calcul avant que le code n’utilise la propriété location des sauts de page horizontaux ou verticaux. Par exemple, utilisez le code suivant pour sélectionner la cellule end, utiliser la propriété location , puis resélectionner la cellule active d’origine :

Sub CheckPageBreaks()    'Set object "currcell" equal to active cell.    Set currcell = ActiveCell        'Select the last cell on the worksheet that has data.    Range("IV65536").Select        'Include code with Location property here.    x = ActiveSheet.HPageBreaks(2).Location.Address    MsgBox x    'Example sets x equal to address of second horizontal page break.    'Then message box displays the address of the page break.        'Select original active cell.    currcell.SelectEnd Sub

Une fois la propriété location calculée, vous pouvez sélectionner de nouveau la cellule active d’origine. Si vous utilisez du code pour faire défiler entre la première et la dernière cellule, ou sélectionner la dernière cellule et resélectionner immédiatement la cellule de début, l’erreur est susceptible de se produire. L’écran doit redessiner et la propriété location doit être calculée pour que la solution de contournement soit effective. Si vous utilisez le code ci-dessus avec

Application.ScreenUpdating = False

pour éviter le rafraîchissement de l’écran, le problème persiste.

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Informations supplémentaires

Si vous utilisez la méthode Count avec la propriété VPageBreaks ou HPageBreaks , il est possible que vous receviez le résultat zéro. Ce problème survient dans les conditions répertoriées dans la section « cause ». S’il s’agit d’un saut de page, la méthode de comptage peut donner la réponse correcte. La méthode de comptage des sauts de page horizontaux ou horizontaux peut donner le résultat attendu si un saut de page se trouve à proximité de la partie visible de la fenêtre de classeur. La solution de contournement fournie précédemment peut être utilisée pour obtenir le nombre attendu. Les sauts de page situés à droite de la fenêtre de classeur ou sous la fenêtre de classeur peuvent activer la méthode de comptage et ce saut de page, si la distance entre la fenêtre et le saut de page est inférieur à la moitié de la distance entre les sauts de page.

Références

Pour plus d’informations sur la façon de détecter les erreurs dans une macro, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

213637 Utiliser « on Error » pour gérer les erreurs dans une macro

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×