Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Compter combien de fois un mot est sur une ligne et au debut du texte

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour,
J'aimerais connaitre le nombre de fois que le mot "CA1" est present par ligne et au debut du texte des colonnes B,D,F comme nontré dans le fichie joint.
Rq : si il est é fois sur une ligne on ne le compte qu'une seule fois.
Bonne journée
 

Pièces jointes

  • NBCA1.xlsx
    10.6 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re, Bonjour Patty,
Rq : si il est x fois sur une ligne on ne le compte qu'une seule fois.
Si "CA1*" apparait plusieurs fois sur une ligne, il ne compte qu'une fois.

Un autre essai sans colonne supplémentaire avec une petite fonction perso en VBA :
VB:
Function Compte(Plage, Chaine)
Application.Volatile: T = Plage
For L = 1 To UBound(T)
    For C = 1 To UBound(T, 2)
        If T(L, C) Like Chaine & "*" Then Compte = Compte + 1: Exit For
    Next C
Next L
End Function
Syntaxe : =Compte(Plage;Chaine)
 

Pièces jointes

  • NBCA1 (1).xlsm
    14.4 KB · Affichages: 1

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour à tous,
La réponse de patty me va bien meme si elle est incomplète pour le CA1 en double par ligne mais je ne sais pas si c'est possible en formule.
Pour sylvanu, je ne souhaitais pas rajouter une colonne ni du vba dans mon fichier
D'ailleurs comment savoir par une formule si CA1 est endouble sur une ligne?
Bonne soirée
 

patty58

XLDnaute Occasionnel
Bonjour Carlos, bonjour sylvanu
J'abandonne n'étant pas pro des formules.
Comme dit sylvanu, soit macro, soit si tu n'en veux pas, la colonne supplémentaire que tu peux cacher si cela te gêne. Je ne vois personnellement pas d'autres solutions...
Bonne soirée à tout le monde
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Alors avec un petit effort, en J8 :
VB:
=SOMME(SI(NB.SI(INDIRECT("A"&LIGNE(A1:F8)&":F"&LIGNE(A1:F8));"CA1*")>0;1;0))
A valider par Maj+Ctrl+Entrée ... ou non suivant votre version car formule matricielle.
Avec XL2019 essayez avec.
 

Pièces jointes

  • NBCA1 (2).xlsx
    9.9 KB · Affichages: 1

job75

XLDnaute Barbatruc
Bonsoir carlos, sylvanu,

Ou encore avec DECALER, sans validation matricielle :
Code:
=SOMMEPROD(SIGNE(NB.SI(DECALER(A1:F1;LIGNE(1:8)-1;);"CA1*")))
A+
 

Pièces jointes

  • NBCA1 (3).xlsx
    10.5 KB · Affichages: 1

Discussions similaires

Réponses
4
Affichages
385
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…