Limite de caractères avec Scripting.Dictionary
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:
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