VBA EXCEL- Compter le nb d'apparitions d'un mot précis ds une cellule
Lena75
-
Frenchie83 Messages postés 2240 Date d'inscription Statut Membre Dernière intervention -
Frenchie83 Messages postés 2240 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille sur Excel 2013, et j'aimerais pouvoir compter le nombre de fois où le mot "ami" (sans tenir compte de la casse) apparaît dans la cellule B1 contenant "amie, amis, amies, famille, (Ami), AMI"
J'ai essayé de plusieurs façons (avec SOMME.PROD, NB.SI, TROUVE, EQUIV, NBCAR(B1)-NBCAR(SUBSTITUE…)...) mais aucune ne m'a permis d'obtenir le résultat: 2, correspondant aux deux derniers de la liste au masculin singulier.
Auriez-vous une piste à explorer ou même une formule à proposer?
Merc
Je travaille sur Excel 2013, et j'aimerais pouvoir compter le nombre de fois où le mot "ami" (sans tenir compte de la casse) apparaît dans la cellule B1 contenant "amie, amis, amies, famille, (Ami), AMI"
J'ai essayé de plusieurs façons (avec SOMME.PROD, NB.SI, TROUVE, EQUIV, NBCAR(B1)-NBCAR(SUBSTITUE…)...) mais aucune ne m'a permis d'obtenir le résultat: 2, correspondant aux deux derniers de la liste au masculin singulier.
Auriez-vous une piste à explorer ou même une formule à proposer?
Merc
A voir également:
- VBA EXCEL- Compter le nb d'apparitions d'un mot précis ds une cellule
- Excel compter cellule couleur sans vba - Guide
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Proteger cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
1 réponse
Bonjour,
Comme vous avez intitulé votre demande VBA EXCEL, voici une solution en VBA
Option Compare Text
ou par formule

Cdlt
Comme vous avez intitulé votre demande VBA EXCEL, voici une solution en VBA
Option Compare Text
Sub Extraire() Chaine = Range("B1") ' on récupère le contenu de B1 dans la variable "Chaine" Chaine = Application.WorksheetFunction.Substitute(Chaine, "(", "") 'on retire la parenthèse ouvrante Chaine = Application.WorksheetFunction.Substitute(Chaine, ")", "") 'on retire la parenthèse fermante Cpt = 0 'on initilaise le compteur à 0 Texte = Split(Chaine, ", ") 'on relève tous les mots sans les séparateur ", " For k = 1 To UBound(Texte) 'on boucle sur chaque mot If Texte(k) = "ami" Then Cpt = Cpt + 1 'si le mot trouvé est égal à "ami" alors on incrémente le compteur Next MsgBox "Quantité trouvée: " & Cpt 'on affiche le résultat End Sub
ou par formule

Cdlt