Sub Doublon()
Dim i As Long, j As Long, k As Long, uS1 As Long, uS2 As Long, uD As Long, s As String, d As String
Dim Src(), Dst()[COLOR="Red"][B], tf As Long, ts As Integer[/B][/COLOR]
Src = transpose(ThisWorkbook.Sheets("A_NETTOYER").Cells(1, 1).CurrentRegion.Value)
uS1 = UBound(Src, 1)
uS2 = UBound(Src, 2)
uD = 1
ReDim Dst(1 To uS1, 1 To uD)
For i = 1 To uS1
Dst(i, 1) = Src(i, 1)
Next i
For j = 1 To uS2
s = ""
For k = 1 To uS1
s = s & "#" & Src(k, j)
Next k
For i = 1 To uD
d = ""
For k = 1 To uS1
d = d & "#" & Dst(k, i)
Next k
If d = s Then Exit For
Next i
If i > uD Then
uD = i
ReDim Preserve Dst(1 To uS1, 1 To uD)
For k = 1 To uS1
[COLOR="Red"][B]If VarType(Src(k, j)) = vbString Then
If Len(Src(k, j)) > 911 Then tf = tf + 1
Dst(k, uD) = Left$(Src(k, j), 911)
Else[/B][/COLOR]
Dst(k, uD) = Src(k, j)
[COLOR="Red"][B]End If[/B][/COLOR]
Next k
End If
Next j
[COLOR="Red"][B]ts = 6
If tf > 0 Then ts = MsgBox(tf & " champ" & IIf(tf > 1, "s", "") & " trop long" & _
IIf(tf > 1, "s seront", " sera") & " tronqué" & IIf(tf > 1, "s", "") & _
" à 911 caractères." & vbLf & "Voulez-vous continuer ?", vbYesNo, "Attention !")
If ts = 6 Then[/B][/COLOR]
With ThisWorkbook.Sheets("NETTOYE")
With .Range(.Cells(1, 1), .Cells(1, 1).Offset(uD - 1, uS1 - 1))
.Value = transpose(Dst)
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End With
[COLOR="Red"][B]End If[/B][/COLOR]
End Sub