[EXCEL] VBA : vérifier redim pas utilisé ?
mortelrdv
-
mortelrdv -
mortelrdv -
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
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
-
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 -
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. -
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