Compter le nombre de mots dans une chaîne
La fonction VBA suivante compte le nombre de mots dans une chaîne en recherchant des espaces dans la chaîne. Il utilise la fonction MID. Vous pouvez accomplir quelque chose de similaire avec les fonctions SEARCH ou FIND.
1234567891011121314151617 | Fonction Number_of_Words (Text_String As String) As Integer'La fonction compte le nombre de mots dans une chaîne'en regardant chaque caractère et en voyant s'il s'agit d'un espace ou nonNombre_de_mots = 0Dim String_Length en tant qu'entierDim Current_Character en tant qu'entierString_Length = Len(Text_String)Pour Current_Character = 1 à String_LengthIf (Mid(Text_String, Current_Character, 1)) = " " ThenNumber_of_Words = Number_of_Words + 1Fin siSuivant Current_CharacterFonction de fin |
Il convient de noter quelques points :
• Ce code doit être inséré dans un module de classeur - depuis le volet VBA, cliquez sur Insérer puis sur module
• La fonction peut être appelée à partir d'une cellule de classeur Excel avec un texte explicite ou une référence de cellule comme argument :
A3 = Number_of_Words ("Cochon Chien Chat")
A4 = Nombre_de_mots(D1)
La fonction fonctionne en parcourant la longueur d'une chaîne et en voyant si le caractère suivant est un espace et si c'est le cas, elle ajoute un au nombre d'espaces dans la chaîne.