La solution suivante montre très clairement comment vous travaillez avec les fonctions de texte dans Excel. Le nombre de mots contenus dans la zone doit être sorti dans une zone préalablement marquée. Vous pouvez voir la solution pour cette tâche dans la macro suivante .
Sub Compterlesmotsdanszone () Dim range as range Dim cell As Object Dim s As String Dim l As Long Sheets ("Feuil7") Activate Set area = Selection For Each Cell In Area s = trim (cell.text) Do While InStr (s, "")> 0 l = l + 1 s = Trim (Right (s, Len (s) - InStr (s, ""))) Loop l = l + 1 Next cell MsgBox " Il y avait dans la zone marquée "& _ Selection.Address & Chr (13) & l & "Mots trouvés !" End Sub
Les mots par cellule sont comptés dans une boucle For Each. Tout d’abord, enregistrez le texte complet de la cellule individuelle, qui peut se composer de plusieurs mots, dans une variable chaîne.
Utilisez maintenant la fonction Trim pour supprimer à la fois les espaces de début au début de la cellule et les espaces de fin à la fin de la cellule. C’est la première condition à remplir pour que les étapes suivantes puissent être effectuées de manière fiable. Configurez maintenant une boucle do while dans laquelle vous pouvez déterminer les mots individuels. Vous utilisez la fonction InStr pour rechercher le premier espace dans la cellule (entre deux mots). Dans la boucle, divisez le texte en mots individuels et augmentez le compteur 1 pour chaque mot trouvé. La boucle est exécutée jusqu’à ce que la fonction InStr renvoie la valeur 0; c’est la fin de la cellule. Enfin, vous sortez le nombre déterminé de mots dans un message