Utilisation dictionary

  • Initiateur de la discussion Initiateur de la discussion niwiz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

niwiz

XLDnaute Nouveau
bonjour je suis actuellement bloqué avec ce probleme :

j'initialise mon dico
Code:
dim MonDicoSession as dictonary
Set MonDicoSession = New Dictionary
For i = 1 To nb
          MonDicoSession(PlgSetSynthèse(i, 1)) = PlgSetSynthèse(i, 1).Value
         End If
        Next i

ensuite je souhaiterais boucler sur une plage et verifier si la valeur correspond a un item du Dictionary, pour finalement le copier dans une variable array :
Code:
        Plg = .Range("A5:I" & .Range("A65536").End(xlUp).Row)    
        ReDim Tbl(1 To 9, 1 To 1)
    
        For i = 1 To UBound(Plg, 1)
        vall = MonDicoSession.Exists(PlgSet(i, 1).Value)
            [B][U]If vall Then[/U][/B]
            
                        C = UBound(Tbl, 2)
                            For x = 1 To 9 
                            Tbl(x, C) = Plg(i, x)
                            Next x

                        ReDim Preserve Tbl(1 To 9, 1 To UBound(Tbl, 2) + 1)
                       If Nbx = 0 Then Exit For
                        
            End If
        Next i

mon probleme se situe au niveau de la condition (if vall then) qui est sensé reconnaitre certaines valeur de la plage comme item présent dans le dictionary !

Merci d'avance. J’espère avoir été clair ^^.
 
Dernière édition:
Re : Utilisation dictionary

bonjour

dim MonDicoSession as dictonary
Set MonDicoSession = New Dictionary
For i = 1 To nb
MonDicoSession(PlgSetSynthèse(i, 1)) = PlgSetSynthèse(i, 1).Value
End If >>>> ???? où est le if .... qui lui correspond
Next i


edit : Salut Pierrot
 
Re : Utilisation dictionary

Oui je sais bien et j'en suis désolé. J'ai simplement repris un bout du code et élagué un peut le tout. Mon but et simplement de savoir s'il y avait un moyen pour que mon MonDicoSession.Exists fonctionne. je peut essayé de fournir un fichier excel si c'est vraiment nécessaire.
 
Re : Utilisation dictionary

Bonjour à tous,
Essai de voir avec ce bout de code à modifier selon ton besoin.
Bruno
Code:
Dim tablo()
Set dico = CreateObject("Scripting.Dictionary")
For Each c In Range([a2], [a65000].End(xlUp))
  dico.Item(c.Value) = dico.Item(c.Value) 'remplissage dico
Next c


'recherche dans la plage
For Each c In Range([C2], [C65000].End(xlUp))
If dico.Exists(c.Value) And c.Value <> "" Then
i = i + 1
ReDim tablo(i)
tablo(i) = c.Value
End If
Next
 
Re : Utilisation dictionary

j'ai essayé d'appliquer ce que vous avez dit, mais sa n'a pas l'air de fonctionner. J'ai un ptit fichier excel pour aidé .

donc le but c'est d'associer Session et DC qui on été identifier dans l'onglet Synthése.

merci encore pour les propositions.
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
233
Réponses
2
Affichages
124
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
5
Affichages
236
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
144
Réponses
3
Affichages
665
Réponses
4
Affichages
177
Réponses
2
Affichages
201
Réponses
10
Affichages
281
Retour