Correction d'erreur hors plage d'indice dans Visual Basic pour Applications (VBA)



Mis à jour en mai 2024: Arrêtez de recevoir des messages d'erreur et ralentissez votre système avec notre outil d'optimisation. Obtenez-le maintenant à ce lien
  1. Téléchargez et installez l'outil de réparation ici.
  2. Laissez-le analyser votre ordinateur.
  3. L'outil va alors répare ton ordinateur.

Une erreur d'indice VBA hors de portée se produit car l'objet auquel nous voulons accéder n'existe pas. Il s'agit d'un type d'erreur de codage VBA et d'une «erreur d'exécution 9». Il est important de comprendre les concepts pour écrire du code efficace, et il est encore plus important de comprendre l'erreur de votre code VBA pour déboguer le code efficacement.

Si vous et votre erreur de codage ne savez pas quelle est cette erreur en votre absence.

Un médecin ne peut pas donner de médicaments à son patient sans connaître la maladie. Bien que le médecin et la patiente sachent qu'il existe une maladie (erreur), il est important de comprendre que cette maladie (erreur) consiste à lui donner des médicaments. Si vous comprenez parfaitement l'erreur, il est beaucoup plus facile de trouver la solution.

Une autre raison peut être que vous n’avez pas d’imprimante standard sur votre ordinateur. Il y a plusieurs solutions pour résoudre ce problème Erreur d'exécution 9 problème, alors essayez-les tous dans le bon ordre.

Ajout d'une imprimante par défaut

  1. Connectez une imprimante à votre ordinateur, branchez le cordon d'alimentation et allumez-le.
  2. Allez dans «Démarrer»> «Panneau de configuration»> «Imprimantes et télécopieurs».
  3. Cliquez sur «Ajouter une imprimante» et suivez les instructions à l'écran pour ajouter une imprimante par défaut.

Vérifiez les tableaux

Il est possible que vous ayez défini une valeur incorrecte pour l'élément de tableau. Il est donc recommandé de revérifier la valeur que vous avez définie pour l'élément de tableau et de vous assurer qu'elle est correcte. Assurez-vous également de vérifier la déclaration de la table et de vérifier les limites supérieure et inférieure. Si les tables ont été redimensionnées, veillez à utiliser les fonctions LBound et UBound pour conditionner l'accès. Vérifiez l'orthographe du nom de la variable si l'index est une variable.

Définir le nombre d'éléments

Dans certains cas, vous n'avez peut-être pas défini le nombre d'éléments de votre code qui déclencheraient l'erreur. Il est recommandé de spécifier le nombre d'éléments dans le tableau à l'aide des fonctions Dim ou ReDim.

Comment éviter l'erreur «Indice d'erreur hors plage» dans VBA

Évitez d’utiliser les fonctions intégrées à Excel: ActiveWorkbook, ActiveSheet et Selection: entrez les valeurs de retour et préférez les expressions qualifiées.



Mise à jour de mai 2024:

Vous pouvez désormais éviter les problèmes de PC en utilisant cet outil, comme vous protéger contre la perte de fichiers et les logiciels malveillants. De plus, c'est un excellent moyen d'optimiser votre ordinateur pour des performances maximales. Le programme corrige facilement les erreurs courantes qui peuvent survenir sur les systèmes Windows - pas besoin d'heures de dépannage lorsque vous avez la solution parfaite à portée de main :

  • Étape 1: Télécharger PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista - Certifié Microsoft Gold).
  • Étape 2: Cliquez sur “Start scan”Pour rechercher les problèmes de registre Windows pouvant être à l'origine de problèmes avec l'ordinateur.
  • Étape 3: Cliquez sur “Tout réparer”Pour résoudre tous les problèmes.

download



Utilisez l’intégré une seule fois et seulement dans les macros les plus externes (subs) et capturez-le lors du démarrage de la macro, par exemple:

set wkb = ActiveWorkbook
set wks = ActiveSheet
Salière = Sélection
Pendant et dans les macros, ces noms intégrés ne sont pas fiables, mais les valeurs de retour sont enregistrées, par exemple

Définissez wkb = Workbooks.add 'au lieu de Workbooks.add sans entrer de valeur de retour.
wkb.Activate 'au lieu d'Activeworkbook.Activate
Essayez également d'utiliser des expressions qualifiées, par exemple

wkb.Sheets («Sheet3»). name = «foo» 'au lieu de Sheets («Sheet3»). name = «foo».
or

Définissez newWks = wkb.Sheets.Add.
newWks.name = "bar" 'au lieu de ActiveSheet.name = "bar".
Utilisez des expressions qualifiées, par exemple

newWks.name = “bar” 'au lieu de `xyz.Select' suivi de Selection.name =“ bar ”.
Ces méthodes fonctionnent généralement mieux, produisent des résultats moins confus, sont plus robustes pour le refactoring (par exemple, le déplacement de lignes de code au sein de méthodes et entre celles-ci) et fonctionnent mieux dans toutes les versions d'Excel. Par exemple, la sélection change différemment d'une version d'Excel à une autre lors de l'exécution de la macro.

Notez également que vous constaterez probablement que l'utilisation d'expressions plus qualifiées ne vous oblige pas à activer presque autant de fonctions. (Cela peut signifier que l'écran clignote moins pour l'utilisateur.) Donc toute la ligne Windows (expression). Activer pourrait simplement être supprimé au lieu d'être remplacé par wkb. Activer du tout.

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/subscript-out-of-range-error-9



Conseil d'expert Cet outil de réparation analyse les référentiels et remplace les fichiers corrompus ou manquants si aucune de ces méthodes n'a fonctionné. Cela fonctionne bien dans la plupart des cas où le problème est dû à la corruption du système. Cet outil optimisera également votre système pour maximiser les performances. Il peut être téléchargé par En cliquant ici