Indice VBA Excel hors plage

L'indice VBA hors plage ou connu sous le nom d' erreur d' exécution 9 se produit lorsque nous sélectionnons une cellule, une feuille ou un classeur qui ne fait pas partie de la plage ou des critères définis dans Excel. C'est comme si nous avions sélectionné la plage de 100 cellules ou une colonne et que nous avions appelé les valeurs stockées dans 120 cellules de la même colonne. Ce qui signifie que nous allons hors de portée pour sélectionner et appeler les valeurs qui ne sont pas dans nos critères définis. Lorsque ce type de situation se produit, nous obtenons un message «Erreur d'exécution 9» lors de la compilation ou de l'exécution du code. Le message d'erreur VBA Subscript out of Range nous guide pour corriger l'erreur qui est liée à la plage que nous avons sélectionnée dans Excel.

Exemple d'indice Excel VBA hors plage

Vous trouverez ci-dessous les différents exemples d'indice VBA hors plage dans Excel.

Vous pouvez télécharger cet indice VBA hors modèle Excel ici - Indice VBA hors modèle Excel

Indice VBA hors plage - Exemple # 1

Nous allons d'abord considérer un exemple simple. Pour cela, nous devons aller dans les fenêtres VBA et ajouter un nouveau module en allant dans l'option de menu Insérer comme indiqué ci-dessous.

Nous obtiendrons une fenêtre vierge blanche de Module. C'est là que nous devons effectuer un travail de codage.

Maintenant, écrivez Sous-catégorie de la fonction exécutée, pour les meilleures pratiques, conservez le nom d'une fonction dans Sous-catégorie, comme nous l'avons fait ici pour VBA Subscript hors plage.

Code:

 Sub Subscript_OutOfRange1 () End Sub 

Ici, dans Excel, nous n'avons qu'une seule feuille nommée «Sheet1» comme indiqué ci-dessous.

Mais nous allons écrire un code pour sélectionner une feuille qui n'est même pas ajoutée et voir ce qui se passe.

Maintenant, allez dans la fenêtre VBA et écrivez Sheets (2) suivi de la fonction Select comme indiqué ci-dessous. Ce qui signifie que nous sélectionnons la séquence de feuilles de la 2 ème position avec la fonction Select.

Code:

 Sub Subscript_OutOfRange1 () Sheets (2) .Select End Sub 

Maintenant, compilez le code complet ou faites-le étape par étape pour savoir quelle partie du code est une erreur. Comme nous n'avons qu'une seule ligne de code, nous pouvons exécuter directement le code en cliquant sur le bouton de lecture sous la barre de menu. Nous obtiendrons un message d'erreur indiquant « Erreur d'exécution 9, indice hors plage » dans le VBA, comme indiqué ci-dessous.

Cela montre que nous essayons de sélectionner cette feuille qui n'existe pas. Si nous ajoutons une nouvelle feuille ou modifions la séquence de feuilles dans le code du 2 au 1, nous pouvons obtenir une exécution de code réussie. Ajoutons une autre feuille et voyons ce qui se passe.

Maintenant, exécutez à nouveau le code. Et comme nous n'avons vu aucune erreur, ce qui signifie que notre code termine l'exécution réussie.

Indice VBA hors plage - Exemple # 2

Dans un autre exemple, nous verrons à nouveau un simple code d'activation d'une feuille de calcul. Pour cela, nous allons à nouveau écrire le code. Commencez à écrire la sous-catégorie au nom d'une fonction exécutée ou sous tout autre nom, comme indiqué ci-dessous.

Code:

 Sub Subscript_OutOfRange2 () End Sub 

Maintenant, avec l'aide de Worksheet, nous allons activer Sheet1 comme indiqué ci-dessous.

Code:

 Sub Subscript_OutOfRange2 () Worksheets ("Sheet1"). Activez End Sub 

Maintenant, compilez le code complet et exécutez. Nous remarquerons qu'aucun message d'erreur n'a été affiché, ce qui signifie que l'exécution du code a réussi. Maintenant, mettons l'espace entre "Feuille 1"

Compilez et exécutez à nouveau le code.

Comme nous pouvons le voir ci-dessus, même si notre processus complet et notre manière d'écrire le code sont corrects, mais nous avons pris le nom de feuille correct comme «Feuille 1». Qui en réalité n'a pas d'espace entre «Sheet1».

Cela montre qu'il y a encore des chances d'obtenir une erreur si vous n'épelez pas ou n'écrivez pas le nom de feuille ou le classeur correct.

Indice VBA hors plage - Exemple # 3

Dans cet exemple, nous verrons comment le choix d'une plage de tableau incorrecte peut créer et afficher une erreur d'exécution 9. Recommencez à écrire la sous-catégorie dans le nom de la fonction exécutée, comme illustré ci-dessous.

Code:

 Sub Subscript_OutOfRange3 () End Sub 

Maintenant, avec l'aide de DIM, définissez un tableau de n'importe quelle taille et donnez-le à String ou à des entiers. Cela dépend de ce que nous voulons stocker dans Array, des nombres ou du texte.

Ici, nous avons considéré un tableau de 2 × 3 comme chaîne comme indiqué ci-dessous.

Code:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) As String End Sub 

Par cela, il formera un tableau pour 2 lignes et 3 colonnes et nous pouvons stocker toutes les valeurs selon nos besoins. Comme nous avons sélectionné String, nous y considérerons du texte ou des alphabets.

Maintenant, dans la deuxième ligne de code, sélectionnez le tableau créé mais avec une colonne supplémentaire ou plus et attribuez un texte en tant qu'ABC ou tout autre texte selon votre choix. Ici, nous avons sélectionné un tableau de 2 × 5 comme indiqué ci-dessous.

Code:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) As String SubArray (2, 5) = ABC End Sub 

Maintenant, compilez et exécutez le code. Comme nous pouvons le voir dans la capture d'écran ci-dessous, nous avons reçu un message d'erreur VBA Subscript out of Range d'erreur d'exécution 9.

La raison de cette erreur est que nous avons sélectionné une plage de tableaux incorrecte dans 2 colonnes supplémentaires de 2 × 3 à 2 × 5, ce qui est au-delà de la limite de code. Maintenant, si nous sélectionnons à nouveau la plage correcte de tableau en 2 × 3 et voyons ce qui se passe.

Après avoir compilé et exécuté le code. Nous verrons que nous n'avons reçu aucune erreur, ce qui signifie que l'exécution de notre code a réussi.

Avantages d'Excel VBA Subscript hors de portée

  • L'indice VBA hors plage nous permet de savoir quel type d'erreur s'est produit. Afin que nous puissions trouver spécifiquement la solution du code d'erreur obtenu.
  • Comme l'indice VBA hors de portée, «Erreur d'exécution 9» est très utile pour savoir quel type d'erreur s'est produit dans Excel.

Choses dont il faut se rappeler

  • Il est recommandé d'utiliser la sous-catégorie dans le nom de la fonction exécutée avec une séquence de code afin qu'il soit facile de la suivre correctement.
  • Enregistrez le fichier en tant que classeur activé par macro pour éviter de perdre du code écrit.
  • Si vous avez d'énormes lignes de code, il est préférable de compiler chaque ligne de code une par une en appuyant sur la touche F8. Cette méthode compile chaque étape du code afin que nous puissions directement savoir quelle partie du code a réellement l'erreur lors du premier essai.

Articles recommandés

Cela a été un guide pour Excel VBA Subscript hors de portée. Ici, nous avons discuté de la raison pour laquelle une erreur hors indice VBA se produit (erreur d'exécution 9) ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Comment réparer: erreur VBA 1004?
  2. Comprendre les erreurs dans Excel
  3. Guide complet de VBA en cas d'erreur
  4. Utilisation de la fonction Excel IFERROR

Catégorie: