Astuce VBA : supprimer une variable tableau

Si vous souhaitez réinitialiser un tableau (Array) pour pouvoir modifier sa taille et son contenu, utilisez l'instruction Erase.


Exemple avec un tableau dynamique :

Sub exemple_simple()
   
    nombre_exemple = 11
   
    'Déclaration du tableau dynamique
    Dim tab_exemple()
   
    'Redimensionnement
    ReDim tab_exemple(nombre_exemple - 1)
   
    'EXEMPLE
    MsgBox UBound(tab_exemple) ' => renvoie : 10
   
    'Suppression du tableau
    Erase tab_exemple
   
    'Nouveau redimensionnement possible après suppression
    ReDim tab_exemple(15)
   
    'EXEMPLE
    MsgBox UBound(tab_exemple) ' => renvoie : 15
   
End Sub

L'instruction Erase peut s'avérer très utile lorsque votre tableau dynamique est déclaré en tant que variable Global ...

Exemple avec un tableau de taille fixe :

Sub exemple_simple()
   
    'Déclaration du tableau
    Dim tab_exemple(10)
   
    'EXEMPLE : attribution de valeurs
    For i = 0 To 10
        tab_exemple(i) = i
    Next
   
    'EXEMPLE
    MsgBox tab_exemple(5) ' => renvoie : 5
   
    'Suppression du contenu du tableau
    Erase tab_exemple
   
    'EXEMPLE
    MsgBox tab_exemple(5) ' => ne renvoie rien (vide)
   
End Sub

Avec un tableau de taille fixe, les éléments sont réinitialisés (vidés).