Sub Comptage()
Dim d As Object, ws As Worksheet, [COLOR="Red"]derlig(5), [/COLOR]cel As Range, n As Variant
[E3:K65536].ClearContents
Application.ScreenUpdating = False
Set d = CreateObject("Scripting.Dictionary")
For Each ws In Worksheets
With ws
If .Index < 6 Then
[COLOR="Red"] .[X2:X65536].Value = .[W2:W65536].Value
.[X2:X65536].Sort Key1:=.[X2], Order1:=xlDescending, Header:=xlNo
derlig(.Index) = Application.CountA(.[X2:X65536]) + 1
For Each cel In .Range("X2:X" & derlig(.Index))
[/COLOR] If Not d.Exists(cel.Value) Then d.Add cel.Value, CStr(cel.Value)
Next
End If
End With
Next
[E3].Resize(d.Count) = Application.Transpose(d.items)
For Each cel In Range([E3], [E65536].End(xlUp))
For Each ws In Worksheets
With ws
If .Index < 6 Then
n = Application.CountIf(.[COLOR="Red"]Range("X2:X" & derlig(.Index))[/COLOR], cel)
cel.Offset(, 1) = n + cel.Offset(, 1)
cel.Offset(, .Index + 1) = n
End If
End With
Next
Next
[E3:K65536].Sort Key1:=[F3], Order1:=xlDescending, Header:=xlNo
n = Application.Match([C3], [F:F], -1)
If IsError(n) Then n = 2
Range("E" & n + 1, [K65536]).ClearContents
End Sub