Le bout de code qui me permet de supprimer les espaces et d'en ajouter devant les majuscules : (sur colonne A)
Sub ChangeAuteur()
Const MajChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim LigneListe, DerLigne, Chars As Integer
Dim SuiteChars As String * 1
Dim PreNom As String
Application.ScreenUpdating = False
DerLigne = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For LigneListe = 2 To DerLigne
PreNom = ActiveSheet.Cells(LigneListe, 1).Value
PreNom = Replace(PreNom, " ", "")
For Chars = 1 To Len(MajChars)
SuiteChars = Mid(MajChars, Chars, 1)
PreNom = Replace(PreNom, SuiteChars, " " & SuiteChars)
Next Chars
PreNom = Replace(PreNom, " ", "", 1, 1)
ActiveSheet.Cells(LigneListe, 1).Value = PreNom
Next LigneListe
MsgBox "fin"
End Sub
Probleme 1 : Tu as des carateres qui semble etre des espaces mais qui n'en sont pas comme les lignes de 2 a 16
Probleme 2 : Les Noms entirement en Majuscule donnent : "C A S A R E S"
Mais "Adrian Conan Doyle John Dickson Carr" est correctement écrit.
Pour info dans ce fichier, j'ai supprimé les filtres et executé la macro puis enregistré en xlsx
(la macro est toujours a l'intérieur de ta feuille)