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

Fermé
mortelrdv - 15 oct. 2008 à 14:17
 mortelrdv - 15 oct. 2008 à 14:53
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
A voir également:

3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
15 oct. 2008 à 14:41
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.
0
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
0