Astuce VBA : supprimer un 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 exempleSimple()
    
    nombreExemple = 11
    
    'Déclaration du tableau dynamique
    Dim tabExemple()
    
    'Redimensionnement
    ReDim tabExemple(nombreExemple - 1)
    
    'EXEMPLE
    MsgBox UBound(tabExemple) ' => renvoie : 10
    
    'Suppression du tableau
    Erase tabExemple
    
    'Nouveau redimensionnement possible après suppression
    ReDim tabExemple(15)
    
    'EXEMPLE
    MsgBox UBound(tabExemple) ' => 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 Public ou Global.

Exemple avec un tableau de taille fixe

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

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