Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2011, 11h51   #1
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 124
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 124
Points : 26
Points : 26
Par défaut suppression d'un élément d'une collection

bonjour,
lorsque cette ligne ce code s’exécute
Code :
1
2
3
4
5
 
Dim collec As New Collection
For cpt = 1 To collec.Count
collec.Remove (collec(cpt))
Next cpt
une fenêtre d'erreur de type apparaît ,n'est ce pas comme ça qu'on supprime les objets d'une collection ?? l'erreur est sur la ligne "collec.Remove (collec(cpt))"
rominous41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 12h06   #2
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 256
Points : 5 256
Salut,

Tu dois déjà remplir ta collection avec des éléments puis ensuite tu peux la vider comme cela :

Code :
1
2
3
While collec.Count > 0
collec.Remove (1)
Wend
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 12h19   #3
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 124
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 124
Points : 26
Points : 26
oui oui ma collection est bien rempli mon collec.count vaut 68
seulement je ne connais pas le numero de mon objet dans ma collection.
comment je peux faire pour l'obtenir le (1) que tu mets dans ton remove ??
rominous41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 12h51   #4
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 256
Points : 5 256
Code :
1
2
3
While collec.Count > 0
collec.Remove (1)
Wend
Ce code veut dire :

Tant qu'il y a des éléments dans la collection (Collec.count>0) faire :

Supprimer le 1er élément

Passages possibles:

supposons que ta collection contienne les élément ("a","b","c")

------------------------------------------------

1er passage de boucle :

donc

Code :
collect.remove(1) 'supprime "a"
---------------------------------------------------

2ème passage de boucle :


donc

Code :
collect.remove(1) 'supprime "b"
---------------------------------------------------

3ème passage de boucle :


donc

Code :
collect.remove(1) 'supprime "c"
Et la collection est vide...

A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 15h14   #5
Nouveau Membre du Club
 
Inscription : mai 2009
Messages : 124
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 124
Points : 26
Points : 26
je comprend bien ça seulement seulement je ne veut pas supprimer tous les éléments de ma liste seulement certain est je ne connais pas leur chiffre a l'avance.
rominous41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 16h57   #6
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 256
Points : 5 256
Dans ce cas tu parcours ta collection à l'aide d'une boucle et tu testes à chaque passage le contenu de l'élément en cours, et si l'élément est celui que tu recherche alors tu le supprime avec :

Code :
1
2
3
4
5
6
7
For cpt = 1 To collec.Count
 
   if collec.Item(cpt)=Elémentrecherché then
      collec.Remove (cpt)
   end if
 
Next cpt
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h15.


 
 
 
 
Partenaires

Hébergement Web