Bonjour François
Je ne sais pas qui est l'auteur mais celà fait ce que tu demande
Sub ArticlesFinDePhrases()
'
' ArticlesFinDePhrases Macro
'Mettre les articles de début de titres à la fin de la phrase
'entre parenthèses
'
Articles = Array("LA", "LE", "LES", "L'", "UN", "UNE", _
"DES", "DU", "D'", "AU", "AUX")
For Each LaCell In Selection: For Each Article In Articles
L = Len(Article)
If UCase(Left(LaCell.Formula, L)) = Article Then
LaCell.Value = UCase(Mid(LaCell, L + 1, 1)) + Mid(LaCell, L + 2) _
+ "(" + RTrim(Left(LaCell, L)) + ")"
Exit For
End If
Next: Next
End Sub
Sub TrierSansArticles()
'
' ArticlesFinDePhrases Macro
'Faire un tri dans une liste sans tenir compte des articles
'
Articles = Array("LA", "LE", "LES", "L'", "UN", "UNE", _
"DES", "DU", "D'", "AU", "AUX")
For Each LaCell In Selection: For Each Article In Articles
L = Len(Article)
If UCase(Left(LaCell.Formula, L)) = Article Then
LaCell.Value = Mid(LaCell, L + 1) + "$$" + Left(LaCell, L)
Exit For
End If
Next: Next
Selection.Sort Key1:=Selection, _
Order1:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom
For Each LaCell In Selection
x = InStr(LaCell, "$$")
If x > 0 Then
LaCell.Value = Mid(LaCell, x + 2) + Left(LaCell, x - 1)
End If
Next
End Sub
Salut ;o)