Afficher un message
Vieux 11/04/2005, 18h46   #3 (permalink)
_Thierry
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 100
Par défaut Re:Vider une collention VBA

Bonsoir Hervé, le Forum

Hervé, très bonne question, en fait tout dépend de comment tu déclares/initialises et utilises cet Object Collection...

Je te conseille de lire ce Fil tout d'abord (même si le sujet n'a rien à voir) :

MSG BOX ET INPUTBOX Voir mon long Post du 25-04-04 17:15

Ensuite on va faire une démo de base :

Exemple 1
Citation:
OptionExplicit

Dim MyCollection As Collection

Sub GeneratingCollection()
Dim MyX AsByte
Dim MyItem AsVariant
Dim MyString

Set MyCollection = New Collection

   
For MyX = 65 To 90
        MyCollection.Add Chr(MyX), CStr(MyX)
   
Next

   
ForEach MyItem In MyCollection
        MyString = MyString & MyItem & vbCrLf
   
Next

MsgBox MyString
EndSub
Dans cette Démo pas de souci... mais maintenant on corse !!

Exemple 2
Citation:
OptionExplicit

Dim MyCollection As Collection

Sub GeneratingCollection()
Dim MyX AsByte

Set MyCollection = New Collection

   
For MyX = 65 To 90
        MyCollection.Add Chr(MyX), CStr(MyX)
   
Next

TheNextMacro
EndSub

Sub TheNextMacro()
Dim MyItem AsVariant
Dim MyString

   
ForEach MyItem In MyCollection
        MyString = MyString & MyItem & vbCrLf
   
Next
MsgBox MyString
EndSub

Et donc pour Finir, avec la Vidange !!!

Exemple 2
Citation:
OptionExplicit

Dim MyCollection As Collection

Sub GeneratingCollection()
Dim MyX AsByte

Set MyCollection = New Collection

   
For MyX = 65 To 90
        MyCollection.Add Chr(MyX), CStr(MyX)
   
Next

Set MyCollection = Nothing
TheNextMacro
EndSub

Sub TheNextMacro()
Dim MyItem AsVariant
Dim MyString

   
ForEach MyItem In MyCollection
        MyString = MyString & MyItem & vbCrLf
   
Next
MsgBox MyString
EndSub
Et évidemment ce dernièr exemple plante de la même manière que si le Dim de MyCollection n'était pas niveau Module mais inclus dans la Sub 'GeneratingCollection', donc le Set = Nothing a bien vidé MyCollection...

Bonne Soirée
@+Thierry
_Thierry est déconnecté   Réponse avec citation