Bonjour
Comme on ne peut pas exclure plusieurs valeurs par un autofiltre j utilise un dictionnaire pour en exclure certaines valeurs sauf que je me suis rendu compte que mon code fonctionne sur une quantité de ligne et je ne comprend pas pourquoi...
Au delà de 2000 lignes mon code n exclus lus les valeurs que je veux...
Merci de votre aide
Voici mon code:
Comme on ne peut pas exclure plusieurs valeurs par un autofiltre j utilise un dictionnaire pour en exclure certaines valeurs sauf que je me suis rendu compte que mon code fonctionne sur une quantité de ligne et je ne comprend pas pourquoi...
Au delà de 2000 lignes mon code n exclus lus les valeurs que je veux...
Merci de votre aide
Voici mon code:
VB:
Dim d As Object, c As Range, x, i As Long, ws As Worksheet
Dim tmp As String
'pour supprimer le Dictionnaire de la mémoire
Set d = Nothing
Set ws = ActiveSheet
Set d = CreateObject("scripting.dictionary")
x = Application.Transpose(Range("J1", Cells(Rows.Count, "J").End(xlUp)))
For i = 1 To UBound(x, 1)
d(x(i)) = 1
Next
For Each c In ws.Range("J2", Cells(Rows.Count, "J").End(xlUp))
tmp = c.Value
If d.Exists(tmp) And (tmp) = "COK" Then d.Remove (tmp) 'élimine COK
If d.Exists(tmp) And (tmp) = "RSA" Then d.Remove (tmp) 'élimine RSA
If d.Exists(tmp) And (tmp) = "CIN" Then d.Remove (tmp) 'élimine CIN
If d.Exists(tmp) And (tmp) = "AAN" Then d.Remove (tmp) 'élimine AAN
If d.Exists(tmp) And (tmp) = "SSC" Then d.Remove (tmp) 'élimine SSC
If d.Exists(tmp) And (tmp) = "CNA" Then d.Remove (tmp) 'élimine CNA
Next
With ws.Cells(1, 1).CurrentRegion
.AutoFilter 10, Array(d.Keys), 7
End With
Dernière édition: