Sub CH_FR3()
Dim Tableau_en_Cours, Tableau_Range As Range, Compteur As Integer, Compteur2 As Integer, Compteur3 As Integer, Compteur4 As Long, Texte_Cellule$
Set Tableau_Range = Range("A1:C" & Range("A1000000").End(xlUp).Row)
Tableau_en_Cours = Tableau_Range.Value
'détecte le premier caractère > 255
For Compteur4 = LBound(Tableau_en_Cours, 1) To UBound(Tableau_en_Cours, 1)
Compteur2 = 0
Compteur3 = 0
Texte_Cellule = Tableau_en_Cours(Compteur4, 1)
For Compteur = 1 To Len(Texte_Cellule)
If AscW(Mid(Texte_Cellule, Compteur, 1)) > 255 Or AscW(Mid(Texte_Cellule, Compteur, 1)) < 0 Then
Compteur2 = Compteur
Exit For
End If
Next Compteur
'détecte le dernier caractère > 255
If Compteur2 > 0 Then
For Compteur = Len(Texte_Cellule) To 1 Step -1
If AscW(Mid(Texte_Cellule, Compteur, 1)) > 255 Or AscW(Mid(Texte_Cellule, Compteur, 1)) < 0 Then
Compteur3 = Compteur
Exit For
End If
Next Compteur
End If
'retour selon param
If Compteur2 = 0 Then
Tableau_en_Cours(Compteur4, 3) = Texte_Cellule
Else
Tableau_en_Cours(Compteur4, 2) = Mid(Texte_Cellule, Compteur2, Compteur3 - Compteur2 + 1)
Tableau_en_Cours(Compteur4, 3) = LTrim(Right(Texte_Cellule, Len(Texte_Cellule) - Compteur3))
End If
Next Compteur4
Application.Calculation = xlCalculationManual
Tableau_Range.Value = Tableau_en_Cours
Application.Calculation = xlCalculationAutomatic
Set Tableau_en_Cours = Nothing
Set Tableau_Range = Nothing
End Sub