Function Sigle(Y As Range) As String
Dim X As String, A As String, i As Long
X = Application.Proper(Y.Value)
' ---------------------------------- articles , conjonctions et sigles superfétatoires
X = Replace(X, "$", " ")
X = Replace(X, "@", " ")
X = Replace(X, "&", " ")
X = Replace(X, "(", " ")
X = Replace(X, ")", " ")
X = Replace(X, ".", " ")
X = Replace(X, "-", " ")
X = Replace(X, "D'", " ")
X = Replace(X, "Du ", " ")
X = Replace(X, "De ", " ")
X = Replace(X, "Des ", " ")
X = Replace(X, "Les ", " ")
X = Replace(X, "Le ", " ")
X = Replace(X, "La ", " ")
X = Replace(X, "L'", " ")
X = Replace(X, "Et ", " ")
X = Replace(X, " Of ", " ")
X = Replace(X, " Pour ", " ")
X = Replace(X, " À ", " ")
X = Replace(X, " Au ", " ")
X = Replace(X, " Aux ", " ")
X = Replace(X, " En ", " ")
X = Replace(X, " Ou ", " ")
X = Replace(X, " Un ", " ")
X = Replace(X, " Une ", " ")
X = Replace(X, " Par ", " ")
' ----------------------------suppression espaces redondants
X = " " & WorksheetFunction.Trim(X)
' ----------------------------recupération initiales
For i = 1 To Len(X)
If Mid(X, i, 1) = " " Then A = A & Mid(X, i + 1, 1)
Next
Sigle = SansAccent(A)
End Function
Function SansAccent(texte)
'Définition des variables
avec = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç_"
sans = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc "
tmp = texte
'Boucle de traitement
For i = 1 To Len(tmp)
pot = InStr(avec, Mid(tmp, i, 1))
If pot > 0 Then Mid(tmp, i, 1) = Mid(sans, pot, 1)
Next i
If tmp = 0 Then tmp = ""
SansAccent = tmp
End Function