Comment extraire les lettres majuscules ou les mots commençant par une majuscule des chaînes de texte ?
Si vous avez une liste de chaînes de texte et que vous souhaitez extraire uniquement toutes les lettres majuscules ou les mots commençant par une majuscule des cellules, comment pourriez-vous résoudre cela dans Excel ?
Extraire les lettres majuscules des chaînes de texte avec une fonction définie par l'utilisateur
Extraire les lettres majuscules des chaînes de texte avec une fonction définie par l'utilisateur
Le code VBA suivant peut vous aider à extraire uniquement les lettres majuscules des cellules. Veuillez procéder comme suit :
1. Maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre du Module.
Code VBA : Extraire uniquement les lettres majuscules des chaînes de texte :
Function ExtractCap(Txt As String) As String
'Updateby Extendoffice
Application.Volatile
Dim xRegEx As Object
Set xRegEx = CreateObject("VBSCRIPT.REGEXP")
xRegEx.Pattern = "[^A-Z]"
xRegEx.Global = True
ExtractCap = xRegEx.Replace(Txt, "")
Set xRegEx = Nothing
End Function
3. Ensuite, enregistrez le code et fermez cette fenêtre de code, retournez à la feuille de calcul, entrez cette formule : =EXTRACTCAP(A2) dans une cellule vide où vous souhaitez afficher le résultat, puis faites glisser la poignée de remplissage vers le bas jusqu'aux cellules auxquelles vous souhaitez appliquer cette formule, et toutes les lettres majuscules seront extraites immédiatement, voir capture d'écran :
Extraire les mots commençant par une majuscule des chaînes de texte avec une fonction définie par l'utilisateur
Si vous devez extraire les mots qui commencent par une majuscule des chaînes de texte, le code VBA suivant peut vous aider.
1. Maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Cliquez sur Insertion > Module, puis copiez et collez le code suivant dans la fenêtre du Module.
Code VBA : Extraire les mots commençant par une majuscule :
Function StrExtract(Str As String) As String
'Updateby Extendoffice
Application.Volatile
Dim xStrList As Variant
Dim xRet As String
Dim I As Long
If Len(Str) = 0 Then Exit Function
xStrList = Split(Str, " ")
If UBound(xStrList) >= 0 Then
For I = 0 To UBound(xStrList)
If xStrList(I) = StrConv(xStrList(I), vbProperCase) Then
xRet = xRet & xStrList(I) & " "
End If
Next
StrExtract = Left(xRet, Len(xRet) - 1)
End If
End Function
3. Ensuite, enregistrez le code et fermez la fenêtre de code, entrez cette formule : =StrExtract(A2) dans une cellule vide à côté de vos données, puis faites glisser la poignée de remplissage vers le bas jusqu'aux cellules où vous souhaitez obtenir le résultat, et tous les mots commençant par une majuscule sont extraits, voir capture d'écran :
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !