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