Bonjour à toutes et à tous
Bonne fête pour celles et ceux qui font la fête...que du bonheur et joie pour cette fin d'année 2020
A toutes et tous je vous souhaite bonne Année 2021 pleine de santé et du succès
Pour une base de donnée je veux supprimer les articles qui se répètent 50 fois
pour ça j'ai fais un dictionnaire pour récupérer le nombre des lignes par article
puis un deuxième dictionnaire lié au premier dictionnaire pour les article égal à 50
A ce stade tout fonctionne d'ailleurs quand je met un message pour récupérer le nombre des articles du deuxième dictionnaire ça donne le bon résultat
Le problème commence quand je filtre ma BD avec ce deuxième dico...Excel ne répond plus et l'application se ferme ...
y a t'il des remarques ou des erreurs que j'ai commis ?? merci de m'éclairer sur le sujet
NB : Obliger de passer par VBA et non pas power Query
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Sub FiltreSelonListe() Set f1 = Sheets("Base de données") Set d = CreateObject("scripting.dictionary") d.CompareMode = vbTextCompare TblBD = f1.Range("A2:D" & f1.Range("A" & Rows.Count).End(xlUp).Row) For i = 1 To UBound(TblBD) clé = TblBD(i, 1) d(clé) = d(clé) + 1 Next i Set d1 = CreateObject("scripting.dictionary") d1.CompareMode = vbTextCompare For Each c In d If d.Item(c) = 50 Then d1(c) = d1(c) Next c ' ICI LE PROBLEME f1.Range("A1:D" & f1.Range("A" & Rows.Count).End(xlUp).Row).AutoFilter Field:=1, Criteria1:=d1.keys, Operator:=xlFilterValues End Sub
Partager