précise s'il te plait ... je suis pas devin
erreur ?
Version imprimable
précise s'il te plait ... je suis pas devin
erreur ?
Bonjour,
Il faut que tu lui indiques la position ou tu insères. (l'index) A mon avis risqué comme méthode.
L'élément en 2ème position passe en 3, et le nouveau est en 2ème position.Code:
1
2
3 MyCollection.Remove (2) MyCollection.Add Item:="ex", Key:=CStr(2), before:=2 ' insére avant l'index 2
Ou bien, tu peux aussi utiliser "after:=1"
________________________
Tu peux aussi utiliser les clés (préférable à mon sens)
Si tu as rempli ainsi
Tu peux faireCode:
1
2
3 MyCollection.Add "tata", Key:=CStr(1) MyCollection.Add "titi", Key:=CStr(2) MyCollection.Add "toto", Key:=CStr(3)
A+, Hervé.Code:
1
2 MyCollection.Remove CStr(2) MyCollection.Add Item:="ex", Key:=CStr(2), before:=CStr(3) ' insére avant la clé "3"
erreur d'xécution 5:
argument ou procédure incorrect sur la ligne:
Code:
1
2
3 MyCollection.Remove CStr(2) MyCollection.Add Item:="ex", Key:=CStr(2), before:=CStr(3) ' insére avant la clé "3"
Un exemple complet
3 boutons un textbox
Clique un fois sur le bouton command1 pour créer la collection.
teste les 2 autres boutons, cela fonctionne chez moi.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Option Explicit Dim MyCollection As Collection Private Sub Command1_Click() Set MyCollection = New Collection ' instanciation de la collection MyCollection MyCollection.Add "tata", Key:=CStr(1) MyCollection.Add "titi", Key:=CStr(2) MyCollection.Add "toto", Key:=CStr(3) Call VoirCollection End Sub Private Sub Command2_Click() MyCollection.Remove 2 Call VoirCollection ' le troisième est devenu le 2 dans les item MsgBox " le troisième est devenu le 2 dans les item" MyCollection.Add Item:="ex", Key:=CStr(2), before:=2 ' insére avant l'item 2 Call VoirCollection End Sub Private Sub Command3_Click() MyCollection.Remove CStr(2) MyCollection.Add Item:="2-2-2", Key:=CStr(2), before:=CStr(3) ' insére avant la clé 3 Call VoirCollection End Sub Sub VoirCollection() Dim i As Integer Text1.Text = "" For i = 1 To MyCollection.Count Text1.Text = Text1.Text & " " & MyCollection.Item(i) Next i End Sub
A+, Hervé
MERCI BEAUCOUP:D