En VBA (Visual Basic for Applications), l’instruction `Option Base` est utilisée pour définir la base de l’indexation des tableaux. Par défaut, VBA utilise une base de 0, ce qui signifie que le premier élément d’un tableau est indexé à 0. Cependant, si vous préférez commencer l’indexation à 1, vous pouvez utiliser `Option Base 1`. Voici comment l’utiliser :
- Placement de l’instruction : L’instruction `Option Base` doit être placée au tout début d’un module, avant toute autre déclaration de variable ou procédure. Elle ne peut pas être utilisée au milieu du code.
- Syntaxe :
- `Option Base 0` : Définit la base de l’indexation des tableaux à 0.
- `Option Base 1` : Définit la base de l’indexation des tableaux à 1.
- Exemple d’utilisation :
Supposons que vous souhaitiez changer la base d’indexation à 1, voici comment vous pourriez le faire dans un module :
Option Base 1
Sub ExempleTableau()
Dim arr(5) As Integer
Dim i As Integer
For i = 1 To 5
arr(i) = i * 10
Next i
For i = 1 To 5
Debug.Print arr(i) ' Affiche 10, 20, 30, 40, 50
Next i
End Sub
- Limitations : `Option Base` s’applique uniquement aux tableaux déclarés avec des dimensions explicites. Elle ne s’applique pas aux tableaux dynamiques (ceux redimensionnés avec `ReDim`) car `ReDim` permet de spécifier explicitement les indices de départ et de fin.
- Portsé de l’instruction : `Option Base` affecte uniquement le module dans lequel elle est déclarée. Chaque module peut avoir sa propre définition de `Option Base`.
En général, il est recommandé de toujours être explicite avec les bornes de vos tableaux, surtout dans un code complexe, plutôt que de s’appuyer sur `Option Base`, afin d’améliorer la lisibilité et réduire les erreurs potentielles.