Compter différents mots sur la même ligne

Bonjour,

Dans le fichier ci-joint, j'aimerai compter le nombre de fois où apparaissent sur la même ligne les mots "Tim" et "Protect" par exemple.

Quelle formule utiliser s'il vous plait ?

J'aimerais à l'avenir pouvoir augmenter le nombre de mots à rechercher sur la même ligne.

Je vous remercie.

17test.xlsx (15.85 Ko)

Bonsoir,

Tu peux tester avec cette formule

=SOMMEPROD(($I1="Protect")*1;($N1="Tim")*1)

Slts

Salut Mattcoach,
Salut Boss,

une version VBA qui fait le compte au moindre changement de valeur dans le tableau en affichant les résultats en colonne [Z:Z].
La ligne 1 reçoit les mots à rechercher, mots que tu peux inscrire, ajouter, effacer dans n'importe quelle cellule de la ligne, la macro les regroupant à droite.

Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim tTab, tData, tItem, iRow%, iCol%
'
Application.EnableEvents = False
Application.ScreenUpdating = False
'
iRow = Range("A" & Rows.Count).End(xlUp).Row
Range("Z2:Z" & Range("Z" & Rows.Count).End(xlUp).Row + 1).Clear
If Not Intersect(Target, Range("A1:Y" & iRow)) Is Nothing Then
    For x = 1 To 25
        iCol = Range("A1:AA1").Find(what:="", lookat:=xlPart, LookIn:=xlValues, searchdirection:=xlPrevious).Column
        If Cells(1, x) <> "" And iCol > x Then Range(Chr(64 + x) & 1).Cut Destination:=Range(Chr(64 + iCol) & 1)
    Next
    Range("A1:Z1").Interior.Color = RGB(255, 190, 0)
    tTab = Range("A1:Y" & iRow).Value
    tData = Range("Z1:Z" & iRow).Value
    If WorksheetFunction.CountA(Range("A1:Z1")) > 0 Then
        tItem = Range(Chr(64 + iCol + IIf(Cells(1, iCol) = "", 1, 0)) & "1:AA1").Value
        For x = 2 To UBound(tTab, 1)
            For Z = 1 To UBound(tItem, 2) - 1
                For y = 1 To UBound(tTab, 2)
                    If InStr(LCase(tTab(x, y)), LCase(tItem(1, Z))) > 0 Then tData(x, 1) = tData(x, 1) + 1
                Next
            Next
        Next
        Range("Z1:Z" & iRow).Value = tData
        Range("Z2:Z" & iRow).Interior.Color = RGB(215, 215, 215)
    End If
End If
'
Application.ScreenUpdating = True
Application.EnableEvents = True
'
End Sub

A+

4mattcoach.xlsm (25.00 Ko)

@Curulis,

si on a 3 fois "Tim" et aucun "protect", tu compte 3, c'est faux Puis il faut compter le nombre de lignes avec un "2"

ma colonne AA t ma cellule AD2

5mattcoach.xlsm (29.96 Ko)

Bonjour,

Je crois que la formule de boss ne va pas, elle trouve les cellules contenant "Tim" ET "Protect".

Il faudrait plutôt mettre un "+" pour compter "Tim" OU "Protect".

Càd, en insérant une colonne en A (ie. formule en A1)

=SOMMEPROD((B1:XFD1="Tim")+(B1:XFD1="Protect"))

Bonjour à tous,

Une version formule, avec la liste des mots dans un tableau en colonnes AA, un colonne supplémentaire en X avec :

=PRODUIT(NB.SI.ENS(A1:W1;tListe[Mots]))
à recopier

et le total en Z

5test.xlsx (25.54 Ko)

Bonjour,

@ tous les répondeurs, je pense qu'il faut aussi comptabiliser les cas où "Tim" est répété dans la même cellule (exemple, ligne 33)

@ le coach, il semblerait que ces données proviennent d'une extraction (peut-être csv?), d'où des caractères un peu spéciaux...(genre "S√©l√©ction")

Sinon, dans le fichier joint, par le biais de power query, il te suffit de mettre tes recherches dans le tableau en colonne Z, de cliquer sur le bouton "Actualiser tout" du ruban "Données", et dans la cellule AB2, le nombre correspondant de lignes où apparaissent les mots définis sur la même ligne (avec en colonne X un 1 si la ligne correspond aux critères)

Bonne journée

Salut CousinHub,

oui, j'avais vu cette particularité mais, patiemment, j'attends les précisions de Mattcoach...

A+

bonjour

dans la colonne verte

cordialement

7mattcoach.xlsx (18.82 Ko)

Salut Mattcoach,
Salut tout le monde,

...faut toujours se battre pour être meilleur, ici!
Version améliorée, je ne sais pas si cela sera utile, évidemment, où un clic en [Z:Z] permet de visualiser les mots recherchés

image

A+

4mattcoach-v2.xlsm (29.89 Ko)
Rechercher des sujets similaires à "compter differents mots meme ligne"