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 Public ou 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).