[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
A voir également:
- [EXCEL] VBA : vérifier redim pas utilisé ?
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
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
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.
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
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