Function ACRONYME(rng As Range) As String
Dim t, x&
t = Split(rng)
If IsArray(t) Then
For x = LBound(t) To UBound(t)
ACRONYME = ACRONYME & Left(t(x), 1)
Next x
Else
ACRONYME = Left(t, 1)
End If
End Function
Function INITIALES(rng As Range, Optional NBMots As Long = -1) As String
Dim t, x&, cpt&
t = Split(rng)
For x = LBound(t) To UBound(t)
INITIALES = UCase(INITIALES & Left(t(x), 1))
cpt = cpt + 1
If NBMots > 0 And cpt >= NBMots Then Exit For
Next x
End Function
Function Init(t$)
Dim i%
t = " " & Application.Trim(t) 'SUPPRESPACE
For i = 1 To Len(t)
If Mid(t, i, 1) = " " Then Init = Init & Mid(t, i + 1, 1)
Next
End Function
=MCONCAT(REPT(STXT(" "&SUPPRESPACE(A1);LIGNE(INDIRECT("2:"&NBCAR(" "&SUPPRESPACE(A1))));1);STXT(" "&SUPPRESPACE(A1);LIGNE(INDIRECT("2:"&NBCAR(" "&SUPPRESPACE(A1))))-1;1)=" "))
=GAUCHE(STXT(" " & $D2 & " ";PETITE.VALEUR(SI(STXT(" " & $D2 & " ";LIGNE(INDIRECT("$1:" & NBCAR(" " & $D2 & " ")));1)=" ";LIGNE(INDIRECT("$1:" & NBCAR(" " & $D2 & " "))));E$1)+1;PETITE.VALEUR(SI(STXT(" " & $D2 & " ";LIGNE(INDIRECT("$1:" & NBCAR(" " & $D2 & " ")));1)=" ";LIGNE(INDIRECT("$1:" & NBCAR(" " & $D2 & " "))));E$1+1)-PETITE.VALEUR(SI(STXT(" " & $D2 & " ";LIGNE(INDIRECT("$1:" & NBCAR(" " & $D2 & " ")));1)=" ";LIGNE(INDIRECT("$1:" & NBCAR(" " & $D2 & " "))));E$1)-1))