Compter le nombre d'occurrence d'un mot dans une cellule

Amba -  
Ambakane Messages postés 5 Statut Membre -
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 !

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    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
    0
    1. Ambakane Messages postés 5 Statut Membre
       
      Wahou ! quel rapidité ! merci d'avoir pris la peine de me réponde si vite !

      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 !)
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      EN ATTENDANT, IL EST PARTICULIÈREMENT DÉPLORABLE DE POSER LA MÊME DEMANDE DANS PLUSIEURS FORUMS


      Abandon
      0
    3. Ambakane Messages postés 5 Statut Membre
       
      Veuillez m'excuser pour ce doublon,
      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.
      0