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