Bonjour,
Dans mon programme je dois incrémenter un nombre en le stockant en fonction d'une date et d'une région, j'ai donc utilisé la structure de données Dictionnary qui répondait parfaitement à mon problème. A propos de son utilisation j'ai deux questions :
Peut-on ajouter seulement des clés et non des couples clé-valeur ? Pour l'instant je triche en le remplissant comme ceci :
Enfin, peut-on récupérer la valeur actuel d'un item avec sa clé, lui ajouter un nombre, puis le stocker à nouveau dans le dictionnaire ? Pour m'expliquer voici un bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim dicReg As Scripting.Dictionary Set dicReg = New Scripting.Dictionary For i = 0 To UBound(tabJour) For k = 0 To UBound(tabRegion) With dicReg .Add tabJour(i) & tabRegion(k), -1 End With Next k Next i
Dans ce dernier bout de code, il faut savoir que cet instruction est à l'intérieur de deux boucles, donc les valeurs de tabJour et tabRegion change au fur de l'incrementation ainsi que la valeurs de ligneMOB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 With dicReg.Item(tabJour(jour) & tabRegion(k)) = dicReg.Item(tabJour(jour) & tabRegion(k)) + Round(wbModif.Sheets("Prev_Agents").Cells(ligneMOB, 7) - (wbModif.Sheets("Prev_Agents").Cells(ligneMOB, 7) * percentage), "0") End With
C'est un peu compliqué et fastidieux.
Merci d'avance,
Solown
Partager