• Initiateur de la discussion Initiateur de la discussion yohan
  • Date de début Date de début

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 !

Y

yohan

Guest
Bonjour à tous !
Une question que j'espère facile pour les pontes d'Excel.
Je voudrais compter le nombre d'occurences d'un mot dans une étendue de cellules non contiguës.
J'ai essayé ceci : créer une étendue de cellules regroupant toutes les cellules à prendre en compte (jusque-là tout va bien), appelée mettons Test. Et je mets ensuite dans ma cellule resultat la formule suivante : =NB.SI(Test;"mot"), et il m'apparaît ça : #VALEUR!
Où c'est-y que ça coince ?
Parce que dès lors que je remplace, dans la formule, Test par une autre étendue de cellules, mais cette fois-ci contiguës, bin ça marche.
Je me dis qu'il doit y avoir une finesse de syntaxe pour pouvoir mettre plusieurs plages de celllules dans la formule =NB.SI(plage;critère).
Quelqu'un en sait-il quelque chose ?
Je précise que je suis sur Mac, avec la version Excel du Pack Office 2001.
Mercici à tous
Yohan
 
Re: Compter des mots avec NB.Si sur Plages de Cellules Non-Contigues

Bonsoir Yohan, le Forum

Je pense que nos spécialistes formules ne vont pas tarder, en attendant en VBA voici une possibilité pour écrire dans la cellule active le nombre de fois où le mot "mot" est écrit dans la plage "Test" même si non-contigue (et même si le mot "mot" est contenu dans une String ("le motard" retournera 1... Si pas nécessaire remplacer LookAt:=xlPart par LookAt:=xlWhole)

Option Explicit

Sub SearchNCount()
Dim Cell As Range
Dim TheString As String
Dim FirstAddress As String
Dim CountTheString As Byte

TheString = "Mot"

With ActiveSheet.Range("Test")
Set Cell = .Find(TheString, LookIn:=xlValues, LookAt:=xlPart)
If Not Cell Is Nothing Then
FirstAddress = Cell.Address
Do
CountTheString = CountTheString + 1
Set Cell = .FindNext(Cell)
Loop While Not Cell Is Nothing And Cell.Address <> FirstAddress
End If
End With
ActiveCell = CountTheString
End Sub


Bonne Soirée
@+Thierry
 
Bonsoir Thierry, bonsoir à tous,
Et merci Thierry pour ta prompte réponse 🙂
En fait, pour l'instant je ne suis pas pratique de VBA :-(
Pour tout te dire, je me suis mis en tête d'informatiser le planning de la boîte dans laquelle je bosse (il est fait à la main depuis vingt ans, je viens d'arriver ;-)).
Je pensais pouvoir "éviter" le VBA, mais je me rends compte qu'il va falloir y passer !
Je crois que je vais faire un post pour expliquer mon projet général, histoire de me faire aiguiller par votre science, avant de m'enfoncer dans une piste erronée...
Encore merci Thierry, j'essaierai ton programme dès que j'aurai mis le nez dans VBA
A plus tard
Yohan
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Formule si ?
Réponses
7
Affichages
413
Retour