[Résolu] Chercher le nombre de cellules contenant un mot

Ptitgoud

XLDnaute Nouveau
Bonjour le forum,

Voila j'ai un petit problème je souhaite réaliser le comptage de cellule contenant certaines expressions dans le but de pouvoir établir un graphique représentant des proportions.

J'ai trouvé quelques informations qui m'ont permis de passer par la formule NBVAL en ajoutant dans le VBA la fonction suivante :

Code:
Function TrouverMot(Mot, Plage)
Dim CellTrouvées As Range
Dim Cellule As Range

    For Each Cellule In Plage
        If InStr(UCase(Cellule.Value), UCase(Mot)) > 0 Then
            If CellTrouvées Is Nothing Then
                Set CellTrouvées = Cellule
            Else
                Set CellTrouvées = Union(CellTrouvées, Cellule)
            End If
        End If
    Next
    Set TrouverMot = CellTrouvées
End Function

Cela me permet ainsi d'écrire dans un tableau la formule :
=NBVAL(TrouverMot("mot","plage"))

Cette formule fonctionne, sauf lorsque l'expression recherchée n'existe pas, le résultat renvoyé est 1 alors qu'il devrait être 0.
Que dois je modifier pour que cette fonction puisse correctement fonctionner?

Je vous joins mon fichier pour essayer de mieux comprendre ce que j'attends.

Merci d'avance à celui qui pourra m'aider!
 

Pièces jointes

  • TestGraph.xls
    25 KB · Affichages: 47
  • TestGraph.xls
    25 KB · Affichages: 48
  • TestGraph.xls
    25 KB · Affichages: 46
Dernière édition:

ralph45

XLDnaute Impliqué
Re : Chercher le nombre de cellules contenant un mot

Hello le forum et à toi Ptitgoud,

En évitant le VBA et avec une formule telle que...

Code:
=NB.SI(Tableau!$B$2:$B$9;"*"&B10&"*")

... on obtient le résultat escompté (voir PJ rectifiée)

A plus !
 

Ptitgoud

XLDnaute Nouveau
Re : Chercher le nombre de cellules contenant un mot

Ah merci!
Je pensais que la formule NB.SI était uniquement valable sur excel 2007. J'ai du confondre avec une autre formule!
Merci beaucoup!

Et sinon je voulais savoir est-il possible d'avoir une plage variable dans la formule?
En fait j'aimerais éviter de faire mouliner excel en lui proposant une plage telle que "B2:B65536". N'y-a-t'il pas un moyen de lui dire d'aller jusqu'à la dernière cellule remplie? Comme sur le vba avec l'utilisation de la touche Fin?
 

ralph45

XLDnaute Impliqué
Re : Chercher le nombre de cellules contenant un mot

Regarde ma proposition, ainsi que celle de pierrejean (Hello, d'ailleurs :D) et tu obtiendras une formule ad hoc...

Code:
=NB.SI(Tableau!$B:$B;"*"&B10&"*")

C'est plutôt le VBA qui va alourdir le tout...
J'ai fait un test avec 4 colonnes et 45000 lignes et cette formule.
Résultats = quasi-instantannés.

A plus
 

Discussions similaires

Réponses
12
Affichages
614

Membres actuellement en ligne

Statistiques des forums

Discussions
312 472
Messages
2 088 710
Membres
103 929
dernier inscrit
Tangerine9