[EXCEL] VBA : vérifier redim pas utilisé ?

Bonjour,

Je voudrais savoir comment faire pour vérifier si on a pas encore alloué de mémoire à une variable tableau

J'ai un truc de test comme ci dessous, mais ça ne marche pas.
j'ai remplacer Empty par Nothing ou "", aucun ne marche.
'-------------------------------------------------------------------
Type Array_B
Name As String
Hairree As Long
HairNb_AddVP As Integer
End Type

sub essai()
Dim toto() As Array_B

If toto = Empty Then
ReDim titit(50)
End If
'---------------------------------------------------------------------

cordialement
PS : je suis sous excel 2003
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. Contributeur
    En VBA, il n'y a pas de notions d'allocations et compagnie. Ce n'est pas à toi de t'occuper de ça. Tu l'alloues une bonne fois pour toute, rien de plus ;)
    Après, comme toto t'a dit, tu peux utiliser on error resume next ou on error goto Label ;)
    Cdt
    1. Bonjour

      Le seul truc que j'ai trouvé (en VB5, mais ça doit se ressembler) c'est d'utiliser un On Error.
      Je sais, Beurk.
      1. Ok bon baaa...

        j'ai utilisé une astuce pour contourner le probleme meme si c'est peut etre pas élégant.

        Type Array_B
        Name As String
        Hairree As Long
        HairNb_AddVP As Integer
        End Type

        sub essai()
        Dim toto() As Array_B
        redim toto(0) 'cas qui n'arriva jamais enfin j'espère

        If ubound(toto)=0 Then
        ReDim titit(50)
        End If

        Merci de vos remarque