Compter le nombre d'occurrence d'un mot dans une cellule
Amba
-
Ambakane Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Ambakane Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je sollicite un peu d'aide après avoir pas mal écumée les Forum. Je suis en train de réalisé une thèse en médecine et je dois analysé une base de donnée de 44'000 entrée contenant des messages "pager". En gros une phrase contenant le motif d'engagement d'une équipe d'urgence.
P.ex. " P1, sans smur, rue du ... 12, xxxville, enfant de 3 ans, trb resp., connu pour de l'asthme, témoin fait signe sur place"
Je dois extraire un certain nombreux d'information du message, notamment l'age. J'utilise la commande dans VBA
"If cellule Like terme" ou cellule contient le message et terme la string "ans"
Mon problème, dans ce cas il répond par un booléen positif alors que je cherche à savoir le nombre de fois que les caractère "ans" aparait dans la cellule pour pouvoir ensuite enlever tout les massage contenant seulement "sans" ou "dans" mais ne contenant pas "ans" seul pour déignée l'age.
Ma question : comment compter le nombre de fois qu'apparit une chaîne de caractère dans UNE cellule.
Merci beaucoup pour vos réponses !
Je sollicite un peu d'aide après avoir pas mal écumée les Forum. Je suis en train de réalisé une thèse en médecine et je dois analysé une base de donnée de 44'000 entrée contenant des messages "pager". En gros une phrase contenant le motif d'engagement d'une équipe d'urgence.
P.ex. " P1, sans smur, rue du ... 12, xxxville, enfant de 3 ans, trb resp., connu pour de l'asthme, témoin fait signe sur place"
Je dois extraire un certain nombreux d'information du message, notamment l'age. J'utilise la commande dans VBA
"If cellule Like terme" ou cellule contient le message et terme la string "ans"
Mon problème, dans ce cas il répond par un booléen positif alors que je cherche à savoir le nombre de fois que les caractère "ans" aparait dans la cellule pour pouvoir ensuite enlever tout les massage contenant seulement "sans" ou "dans" mais ne contenant pas "ans" seul pour déignée l'age.
Ma question : comment compter le nombre de fois qu'apparit une chaîne de caractère dans UNE cellule.
Merci beaucoup pour vos réponses !
A voir également:
- Compter le nombre d'occurrence d'un mot dans une cellule
- Trousseau mot de passe iphone - Guide
- Créer un compte google - Guide
- Aller à la ligne dans une cellule excel - Guide
- Mot de passe - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
Bonjour,
on peut le faire par formule mais sur 44 000 cellules, je te propose une fonction
Nota
en supposant qu'il y ait toujours une séparation entre le nombre d'années et " ans"
de m^me, pour ne pas durer "un certain temps", tu as intér^t à passer par une variable tableau : tu dis si tu ne connais pas en précisant sur quelle colonne il faut travailler
Michel
on peut le faire par formule mais sur 44 000 cellules, je te propose une fonction
Option Explicit
Function compter_mot(phrase As String, mot As String) As Byte
Dim Tablo, Cptr As Byte, Nbre As Byte
Tablo = Split(phrase)
For Cptr = 0 To UBound(Tablo)
If UCase(Tablo(Cptr)) = UCase(mot) Then Nbre = Nbre + 1
Next
compter_mot = Nbre
End Function
Nota
en supposant qu'il y ait toujours une séparation entre le nombre d'années et " ans"
de m^me, pour ne pas durer "un certain temps", tu as intér^t à passer par une variable tableau : tu dis si tu ne connais pas en précisant sur quelle colonne il faut travailler
Michel
Malheureusement les régulateurs (les personnes qui engage les moyen d'urgence en suisse) on une orthographe et une syntaxe non "standardisé" et l'espace entre l'age et "ans" est aléatoire...
je ne peut donc pas utilisé la fonction split (que je ne connaissait pas et que j'apprend grâce à votre réponse, merci !)
Abandon
j'ai poster sur le forum concernant Exel comme sur celui sur le VBA car une solution par fonction directement dans exel ou une fonction VBA me conviendrai. Je pensais donc m'adresser à deux "population" différentes.
Mon but n'était ni de froisser ni de surcharger les forum (de ce site que je consulte extrêmement fréquemment pour ces soucis de programmation) mais juste d'obtenir une réponse à mon problème.