Collection [Programmation VBA]

Collection

Une collection est un objet de VBA qui permet de stocker différentes informations n'ayant pas forcément le même type.

Cet objet contient quatre méthodes qui permettent de le manipuler.

  • add : ajouter

  • item : récupérer

  • remove : supprimer

  • count : compter

Définition : Déclaration

1Dim liste As Collection2set liste = New CollectionDim liste As Collection set liste = New Collection

crée une nouvelle variable liste de type Collection

Définition : Déclaration raccourcie

1Dim liste As New CollectionDim liste As New Collection

crée une nouvelle variable liste de type Collection

Définition : Ajouter un élément

1liste.add "lundi"liste.add "lundi"

Ajoute le contenu "lundi" à la fin de la collection

Définition : Supprimer un élément

1liste.remove 2liste.remove 2

Supprime le deuxième élément de la liste

Définition : Nombre d'éléments

1liste.Countliste.Count

Retourne le nombre d'éléments

Définition : Récupérer un élément

On peut récupérer le contenu d'une collection grâce à son rang dans la collection. Ce contenu est en lecture seul.

1liste.Item 3liste.Item 3

ou

1liste(3)liste(3)

Retourne le troisième élément

Exemple :

1Dim liste As New Collection2liste.add "lundi"3liste.add 1234liste.add True5liste.add #9/10/1970#Dim liste As New Collection liste.add "lundi" liste.add 123 liste.add True liste.add #9/10/1970#
Collection
1Dim liste As New Collection2liste.add "lundi"3liste.add "mardi"4liste.add "mercredi"5liste.add "jeudi"6liste.remove 27liste.add "mardi"Dim liste As New Collection liste.add "lundi" liste.add "mardi" liste.add "mercredi" liste.add "jeudi" liste.remove 2 liste.add "mardi"
Collection - Remove

mardi est supprimé de la liste, ce qui décale les éléments.

Puis, il est ajouté à la liste en dernière position.

On peut gérer une clé sur chaque éléments de notre collection

Méthode : Utilisation d'une clé

La clé doit être de type String

1Dim liste As New Collection2liste.add Key:="1", Item:="lundi"3liste.add Key:="2", Item:="mardi"4liste.add Key:="3", Item:="mercredi"Dim liste As New Collection liste.add Key:="1", Item:="lundi" liste.add Key:="2", Item:="mardi" liste.add Key:="3", Item:="mercredi"

La clé est indépendante du rang de l'élément

1Dim liste As New Collection2liste.add Key:="2", Item:="lundi"3liste.add Key:="3", Item:="mardi"4liste.add Key:="1", Item:="mercredi"Dim liste As New Collection liste.add Key:="2", Item:="lundi" liste.add Key:="3", Item:="mardi" liste.add Key:="1", Item:="mercredi"

Elle peut être n'importe quelle chaîne de caractères

1Dim liste As New Collection2liste.add Key:="a", Item:="lundi"3liste.add Key:="b", Item:="mardi"4liste.add Key:="c", Item:="mercredi"Dim liste As New Collection liste.add Key:="a", Item:="lundi" liste.add Key:="b", Item:="mardi" liste.add Key:="c", Item:="mercredi"

Supprimer un élément

1liste.remove "c"liste.remove "c"

Supprime l'élément de clé "c"

Récupérer un élément

1liste.item "c"liste.item "c"

ou

1liste("c")liste("c")

Méthode : Modifier un élément

Le contenu d'une collection ne peut pas être modifié.

Par contre, on peut supprimer un élément et en ajouter un autre ayant la même clé.

1Dim liste As New Collection2liste.add Key:="1", Item:="lundi"3liste.add Key:="2", Item:="mardi"4liste.add Key:="3", Item:="mercredi"5liste.add Key:="4", Item:="jeudi"6liste.remove "2"7liste.add Key:="2", Item:="vendredi"Dim liste As New Collection liste.add Key:="1", Item:="lundi" liste.add Key:="2", Item:="mardi" liste.add Key:="3", Item:="mercredi" liste.add Key:="4", Item:="jeudi" liste.remove "2" liste.add Key:="2", Item:="vendredi"

Pour l'ordre, il faudra utiliser les clés et non le rang.

1texte = ""2For i = 1 To liste.Count3 texte = texte & liste(cStr(i)) & ","4Next itexte = "" For i = 1 To liste.Count texte = texte & liste(cStr(i)) & "," Next i

On convertie i en String pour faire appel à la clé et non au rang.

Collection - Clé
  • Précédent
  • Suivant
  • Objectifs
  • Macro
  • Le VBE (Visual Basic Editeur)
  • Langage
    • Procédures et Variables
    • Objets
    • Alternatives
    • Booléen
    • Itératives
    • Liste
      • Tableau
      • For Each
      • Collection
  • Exercices
  • Accueil
  • Module

Tag » Collection Vba Exemple