Dictionnaires imbriqués

Résolu
Medestrac -  
 Medestrac -
Bonjour,

J'ai un tableau contenant en colonne les dates et en ligne les opérateurs. Chaque cellule contient le nom de la machine sur laquelle était l'opérateur ce jour là.
Je cherche à obtenir la synthèse du nombre de jour passé par chaque opérateur sur chaque machine.
Le problème étant que je ne connais pas le nom ni le nombre des machines.
Je voulais utiliser un dictionnaire pour avoir une clé unique correspondant à chaque machine et en élément un autre dictionnaire avec en clé l'opérateur et en valeur le nombre de poste passé, mais je ne sais pas trop comment gérer ça.

Voici ce que ça donne:
Set dicoMachine = CreateObject("Scripting.Dictionary")

For jour = 3 To UBound(TabSrc, 1)
    For op = 2 To UBound(TabSrc, 2)
        operateur = TabSrc(op, 1) 
        machine = TabSrc(op, jour)
        
        If dicoMachine.exists(machine) Then
            Je fais comment là? *******
            je veux que la valeur associée à la clé "operateur" du dictionnaire associé à la clé "machine" du dictionnaire dicoMachine soit augmentée de 1
            
            Else
                dicoMachine(machine).Add operateur, 1
      
            End If
        Else
            Set dicoMachine(machine) = CreateObject("Scripting.Dictionary")
            dicoMachine(machine).Add operateur, 1
            
        End If
    Next op
Next jour


Configuration: Windows / Firefox 97.0

1 réponse

Medestrac
 
Solution:
If dicomachine.Exists(machine) then
 If dicoMachine(machine).Exists(operateur) Then
  dicoMachine(machine)(operateur) = dicoMachine(machine)(operateur) + 1
 end if
Else
 dicoMachine(machine).Add operateur, 1
end if
0