Magic_Doctor
XLDnaute Barbatruc
Bonjour,
J'essaie de dompter le Pattern suivant :
Je veux découper une chaîne de caractères de telle sorte que seuls les mots commençant par une majuscule et précédés d'un espace aillent, avec les textes en minuscules qui les suivent, à la ligne dans une même cellule.
Exemple : Romina Gudule aux grands pieds Cunégonde la folle Úrsula
Romina
Gudule aux grands pieds
Cunégonde la folle
Úrsula
J'ai pratiquement résolu le problème, mais je me heurte avec les mots en minuscules commençant par une voyelle diacritée comme à é í ú etc.
Comment résoudre ce problème ?
J'essaie de dompter le Pattern suivant :
Je veux découper une chaîne de caractères de telle sorte que seuls les mots commençant par une majuscule et précédés d'un espace aillent, avec les textes en minuscules qui les suivent, à la ligne dans une même cellule.
Exemple : Romina Gudule aux grands pieds Cunégonde la folle Úrsula
Romina
Gudule aux grands pieds
Cunégonde la folle
Úrsula
VB:
Sub SuperposerItemsChaine()
Dim cel As Range, c As Range
Application.ScreenUpdating = False
For Each cel In Selection
cel = Application.WorksheetFunction.Trim(cel) 'suppression de tous les éventuels espaces superflus de la chaîne
With CreateObject("VBScript.RegExp")
.Pattern = "( )([A-ZÀ-Ÿ])" 'un espace suivi d'une lettre majuscule. Tient compte des majuscules diacritées
.IgnoreCase = False
.Global = True
For Each c In cel
c.Value = .Replace(c.Value, "$1" & Chr(10) & "$2")
Next
End With
Next
[C2500].Select: Application.ScreenUpdating = True
End Sub
J'ai pratiquement résolu le problème, mais je me heurte avec les mots en minuscules commençant par une voyelle diacritée comme à é í ú etc.
Comment résoudre ce problème ?
Pièces jointes
Dernière édition: