Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Essaie :
Sub Recherche()
Dim I As Long, TablData As Variant, TablClés As Variant, J As Long
Dim Ctr As Long, Ligne As Long
'Effacement tableau feuille treatment
With Sheets("DATA").ListObjects(1)
TablData = Application.Transpose(.ListColumns(1).DataBodyRange)
End With
With Sheets("Mots clés")
TablClés = Application.Transpose(.Range("A1", .Cells(.Rows.Count, 1).End(xlUp)))
End With
With Sheets("TREATMENT").ListObjects(1)
For I = .ListRows.Count To 1 Step -1
.ListRows(I).Delete
Next I
For I = 1 To UBound(TablClés)
Ctr = 0
For J = 1 To UBound(TablData)
If TablData(J) Like "*" & TablClés(I) & "*" = True Then
Ctr = Ctr + 1
End If
Next J
.ListRows.Add
.ListRows(.ListRows.Count).Range(1) = TablClés(I)
.ListRows(.ListRows.Count).Range(2) = Ctr
Next I
For J = 1 To UBound(TablData)
Ctr = 0
For I = 1 To UBound(TablClés)
If TablData(J) Like "*" & TablClés(I) & "*" = True Then
Ctr = Ctr + 1
End If
Next I
If Ctr = 0 Then
If IsNumeric(Application.Match(TablData(J), [TREATMENT!A:A], 0)) Then
Ligne = Application.Match(TablData(J), [TREATMENT!A:A], 0)
Cells(Ligne, 2) = Cells(Ligne, 2) + 1
Else
.ListRows.Add
.ListRows(.ListRows.Count).Range(1) = TablData(J)
.ListRows(.ListRows.Count).Range(2) = .ListRows(.ListRows.Count).Range(2) + 1
End If
End If
Next J
End With
End Sub
Daniel