Bonjour à tous,

J'utilise le code suivant pour éliminer les doublons d'une liste et copier le résultat dans une nouvelle colonne en triant les valeurs par ordre alphabetique

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
18
19
 
Option Explicit
Sub test_dico()
 
Dim MonDico4 As Object
Dim c4 As Variant
 
     Set MonDico4 = CreateObject("Scripting.Dictionary")
        With Worksheets("Sheet1")
            For Each c4 In .Range("A2:A" & .Cells(.Rows.count, 1).End(xlUp).Row)
                If Not MonDico4.exists(Trim(c4.Value)) Then MonDico4.Add Trim(c4.Value), Trim(c4.Value)
            Next c4
            With Worksheets("Sheet1").Range("D2").Resize(MonDico4.count, 1)
                .Value = Application.Transpose(MonDico4.keys)
                .Sort Key1:=Worksheets("Sheet1").Range("D2"), Order1:=xlAscending, Header:=xlNo
            End With
        End With
    Set MonDico4 = Nothing
End Sub
Le problème est le suivant :

Si une cellule contient plus de 256 caraères, la macro ne s'execute plus et le message d'erreur suivant apparait :

Run-time Error' '13:
Type mismatch

Est-ce que quelqu'un aurait déjà rencontré ce problème et comment puis-je y remédier ?
Je bloque dessus depuis bientôt 2 jours

Merci d'avance