Comment corriger l’erreur Excel VBA “Subscript Out of Range” (Runtime Error 9) ?

Summary: l'erreur d'exécution 9 dans Excel se produit généralement lorsque vous utilisez différents objets dans un code ou que l'objet que vous essayez d'utiliser n'est pas défini. Cet article aborde les raisons de l'erreur Excel VBA "Subscript out of Range" et les solutions pour résoudre le problème. Il mentionnera également un outil de réparation Excel qui peut aider à réparer l'erreur si elle se produit en raison d'une corruption dans la feuille de calcul.

De nombreux utilisateurs ont signalé avoir rencontré l’erreur “Subscript out of range” (erreur d’exécution 9) lors de l’utilisation d’un code VBA dans Excel. Cette erreur se produit souvent lorsque l’objet auquel vous faites référence dans un code n’est pas disponible, qu’il a été supprimé ou qu’il n’a pas été défini auparavant. Elle se produit parfois lorsque vous avez déclaré un tableau dans le code, mais que vous avez oublié de spécifier l’instruction DIM ou ReDIM pour définir la longueur du tableau.

Causes de l’erreur d’exécution VBA 9 : Indice hors plage

L’erreur ‘Subscript out of range’ dans Excel peut se produire pour plusieurs raisons, comme par exemple :

Méthodes pour corriger l’erreur Excel VBA “Indice hors plage”.

Voici quelques solutions de contournement que vous pouvez essayer pour résoudre l’erreur d’exécution 9 dans Excel.

Méthode 1 : Vérifier le nom de la feuille de calcul dans le code

Parfois, Excel génère l’erreur d’exécution 9 : Subscript out of range si le nom de la feuille de calcul n’est pas défini correctement dans le code. Par exemple – Lorsque vous essayez de copier le contenu d’une feuille Excel (emp) vers une autre feuille (emp2) via le code VBA, vous avez mentionné par erreur un nom erroné pour la feuille de calcul (voir le code ci-dessous).

Private Sub CommandButton1_Click()
Worksheets(“emp”).Range(“A1:E5”).Select
Selection.Copy
Worksheets(“emp3”).Activate
Worksheets(“emp3”).Range(“A1:E5”).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Lorsque vous exécutez le code ci-dessus, Excel génère une erreur “Subscript out of range”.

Vérifiez donc le nom de la feuille de calcul et corrigez-le. Voici la marche à suivre :

Méthode 2 : Vérifier la portée du tableau

L’erreur VBA “Subscript out of range” se produit également si vous avez déclaré un tableau dans un code mais que vous n’avez pas spécifié le nombre d’éléments. Par exemple, si vous avez déclaré un tableau et oublié de déclarer la variable tableau avec des éléments, vous obtiendrez l’erreur (voir ci-dessous) :

Pour remédier à ce problème, spécifiez la variable tableau :

Sub FillArray()
Dim curExpense(364) As Currency
Dim intI As Integer
For intI = 0 to 364
curExpense(intI) = 20
Next
End Sub

Méthode 3 : Modifier les paramètres de sécurité des macros

L’erreur d’exécution 9 : Subscript out of range peut également se produire en cas de problème avec les macros ou si les macros sont désactivées dans les paramètres de sécurité des macros. Dans ce cas, vous pouvez vérifier et modifier les paramètres des macros. Procédez comme suit :

Méthode 4 : Réparer votre fichier Excel

Le nom ou le format du fichier Excel ou le nom des objets peut être modifié en raison d’une corruption du fichier. Lorsque les objets ne sont pas identifiés dans un code VBA, vous pouvez rencontrer l’erreur Subscript out of range. Vous pouvez utiliser l’utilitaire Ouvrir et réparer dans Excel pour réparer le fichier corrompu. Pour utiliser cet utilitaire, suivez les étapes suivantes :

Si l’utilitaire ” Ouvrir et Réparer ” ne parvient pas à réparer le fichier Excel corrompu/endommagé, essayez un outil de réparation Excel avancé, tel que Stellar Repair for Excel. Il peut facilement réparer un classeur Excel gravement endommagé et récupérer tous les éléments, y compris les macros, les commentaires de cellules, les tableaux, les graphiques, etc. avec une intégrité de 100 %. L’outil est compatible avec toutes les versions de Microsoft Excel.

Conclusion

Vous pouvez rencontrer l’erreur “Subscript out of range” lors de l’utilisation de VBA dans Excel. Vous pouvez suivre les solutions de contournement présentées dans ce blog pour corriger l’erreur. Si le fichier Excel est corrompu, vous pouvez utiliser Stellar Repair for Excel pour réparer le fichier. Il s’agit d’un logiciel puissant qui peut aider à résoudre tous les problèmes dus à la corruption du fichier Excel. Il permet de récupérer toutes les données des fichiers Excel corrompus (.xls, .xlsx, .xltm, .xltx et .xlsm) sans modifier le formatage d’origine. L’outil prend en charge Excel 2021, 2019, 2016 et les versions antérieures.

Related Post

Exit mobile version