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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
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 !
 
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?
 
Re : Chercher le nombre de cellules contenant un mot

Regarde ma proposition, ainsi que celle de pierrejean (Hello, d'ailleurs 😀) 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
 
Re : Chercher le nombre de cellules contenant un mot

Bonjour le fil 🙂,
Et sinon je voulais savoir est-il possible d'avoir une plage variable dans la formule?
Avec un DECALER et un NBVAL en zone nommée. Voir PJ 😛...
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
223
Réponses
2
Affichages
153
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Retour