Recherche dans une phrase et catégorisation

Bonjour a tous,

Débutant en VBA je rencontre un problème dans mon algorithme de recherche de mot et classification.
En effet j'ai dans ma colonne d'indice 14 des retours de clients(sous forme de phrase) et j'essaye de catégoriser leurs soucis selon des mots clés que j'ai mis dans une liste "Cible1".

Si je trouve un des mots clés dans le message(colonne indice 14) j'attribue le mot "Chaud" a la colonne d'indice 30.
Je dois répéter l'opération jusqu'à la dernière ligne non vide de la feuille.

Ci-joint un bout d'algo
Merci par avance pour vos reponses

Cordialement

Sub Catego()

Application.ScreenUpdating = False
Dim a As Long
Dim ws_1 As Worksheet
Dim Cible1 As String

Sheets("detail").Activate
Set ws_1 = Worksheets("detail")
a = ws_1.Cells(Rows.Count, 2).End(xlUp).Row 'définir la dernière ligne utilisée

Cible1 = "Chaud,chaud,CHAUD,Chauffage,chauffage,CHAUFFAGE,chaufferie"

For i = 2 To a Step 1
    If InStr(Cible1, ws_1.Cells(i, 14).Value) = 0 Then  
    Else
       ws_1.Cells(i, 30).Value = "Chaud"
    End If
Next i

MsgBox ("Traitement terminé")
End Sub

Bonjour,

Il te faut 2 boucles.

1 sur les phrases + 1 sur les mots clés.

Sub Catego()

Application.ScreenUpdating = False
Dim a As Long, i as Long, j As Long
Dim MotsCles
Dim ws_1 As Worksheet
Dim Cible1 As String

Sheets("detail").Activate
Set ws_1 = Worksheets("detail")
a = ws_1.Cells(Rows.Count, 2).End(xlUp).Row 'définir la dernière ligne utilisée

Cible1 = "Chaud,chaud,CHAUD,Chauffage,chauffage,CHAUFFAGE,chaufferie"
MotsCles = Split(Cible1, ",")
For i = 2 To a Step 1
  For j = LBound(MotsCles) To UBound(MotsCles)
    If InStr(MotsCles(j), ws_1.Cells(i, 14).Value) > 0 Then
       ws_1.Cells(i, 30).Value = "Chaud"
    End If
  Next j
Next i

MsgBox ("Traitement terminé")
End Sub

Autre conseil, pour ne pas avoir à te soucier des majuscules/minuscules, tu peux tester comme ceci en ajoutant UCase(valeur de la cellule) :

Cible1 = "CHAUD,CHAUFFAGE,CHAUFFERIE"
MotsCles = Split(Cible1, ",")
For i = 2 To a Step 1
  For j = LBound(MotsCles) To UBound(MotsCles)
    If InStr(MotsCles(j), UCase(ws_1.Cells(i, 14).Value)) > 0 Then
       ws_1.Cells(i, 30).Value = "Chaud"
    End If

Bonjour @pijaku et merci pour ton retour,

L'algo fonctionne mais je n'ai aucun "Chaud" inscrit dans la colonne d'indice 30.
J'ai bien le msgbox de la fin qui s'affiche mais je n'ai rien d'autre.
Les mots clés dans la liste sont bien dans les premiers messages stocker en indice 14.

Cordialement

Bonjour,

c'est normal que l'algo ne fonctionne pas, la fonction Instr() est mal utilisé il faut d'abord mettre la chaine dans laquelle on cherche quelque chose et ensuite ce que l'on cherche :

    Cible1 = "chaud,chauffage,chaufferie"
    Motscles = Split(UCase(Cible1), ",")
    For i = 2 To a Step 1
        For Each j In Motscles
            If InStr(UCase(ws_1.Cells(i, 14).Value), j) <> 0 Then ws_1.Cells(i, 30).Value = "Chaud"
        Next j
    Next i

Voici ce qu'il y a à modifier

Cordialement,

Bonsoir @Chbouli04,

merci pour ton retour.
J'ai modifier mon algo en rajoutant ta partie et j'ai un autre problème.
J'ai joint une capture d'écran.

Merci d'avance

Sub Catego()

Dim a As Long, i As Long, j As Object
Dim MotsCles
Dim ws_1 As Worksheet
Dim Cible1 As String

Sheets("detail").Activate
Set ws_1 = Worksheets("detail")
a = ws_1.Cells(Rows.Count, 1).End(xlUp).Row 'définir la dernière ligne utilisée

    Cible1 = "chaud,chauffage,chaufferie"
    MotsCles = Split(UCase(Cible1), ",")
    For i = 2 To a Step 1
        For Each j In MotsCles
            If InStr(UCase(ws_1.Cells(i, 13).Value), j) <> 0 Then
                ws_1.Cells(i, 29).Value = "Chaud"
            End If
        Next j
    Next i

MsgBox ("Traitement terminé")
End Sub

voici le debug:

capture

Oui pardon je n'avais pas vu la façon dont j a été déclarée.

au lieu de :

Dim a As Long, i As Long, j As Object

mettre :

Dim a As Long, i As Long, j As Variant

cette fois ça devrait être bon ;)

Bonjour @Chbouli04,

Merci pour votre aide la macro fonctionne correctement.

Bonne journé

Rechercher des sujets similaires à "recherche phrase categorisation"