reconnaître une liste de mots clefs dans une cellule et renvoyer une valeur

Lingals

XLDnaute Nouveau
Bonjour à tous,

J'ai une question avec excel et je compte sur vos connaissances pour y répondre.

J'ai un fichier excel pour gérer mes comptes ; je télécharge mon relevé de compte en format excel depuis le site de la banque. J'obtiens ensuite un fichier excel brut de données comportant entre autres les colonnes date, libellé de l'opération, débit et crédit.

Mon but recherché : suivant le libellé de chaque opération banquaire, je souhaite classer l'opération dans une catégorie de dépenses (ex : transport, logement, alimentation, médical etc.)
Je veux pouvoir avoir une liste de mots clefs que excel va reconnaitre dans la chaine de caractères des cellules de ma colonne "libellé de l'opération" et renvoyer la catégorie à laquelle ils correspondent.

ex : si "sncf" apparait dans une chaine de caractères d'une cellule de la colonne "libellé de l'opération", je veux que excel m'affiche "transport" dans la colonne "catégorie" que j'ai crée.

J'arrive à faire ce que je veux avec la fonction SI mais elle me limite à 7 mots clefs et je voudrai pouvoir rentrer autant de mots clefs que je veux dans une liste.

Voilà !
Je n'y connais rien en VBA alors le challenge est d'y arriver avec des fonctions classiques (si cela est possible !?)
MERCI !
 

wilfried_42

XLDnaute Barbatruc
Re : reconnaître une liste de mots clefs dans une cellule et renvoyer une valeur

Bonjour et bienvenue


je pense qu'avec un simple RechercheV ca devrait etre possible

tu crees une feuilles motcle avec en colonne A les mots clef et en B les catégories

ensuite tu nommes ta plage de cette facon pour qu'elle soit evolutive
=Decaler(motcle!$A$1;;;nbval(motcle!$A:$A);2)

Ensuite dans la colonne categorie tu y mets :

=RechercheV(valeur;Maplage;2;FAUX)

valeur etant la valeur à rechercher
Maplage etant le nom de la plage definie ci-dessus
 

Tibo

XLDnaute Barbatruc
Re : reconnaître une liste de mots clefs dans une cellule et renvoyer une valeur

Bonjour,

Une autre piste (basée sur une réponse de Monique à l'un de mes tous premiers posts).

Le fichier me sert encore presque tous les jours.

En espérant que ça convienne à Lingals et en remerciant de nouveau Monique

Le principe :

Un onglet "Table d'apprentissage" où on indique selon quel mot clé affecter tel libellé à telle catégorie

L'onglet principal où on reprend le relevé bancaire (téléchargé) et avec une formule qui analyse chaque ligne et recherche les mots clés pour affecter à une catégorie.

Voir le fichier joint

Bon app

@+
 

Pièces jointes

  • traitement relevé banque.zip
    7.9 KB · Affichages: 542
  • traitement relevé banque.zip
    7.9 KB · Affichages: 380
  • traitement relevé banque.zip
    7.9 KB · Affichages: 366

Lingals

XLDnaute Nouveau
Re : reconnaître une liste de mots clefs dans une cellule et renvoyer une valeur

Rebonjour,

J'ai essayé de comprendre le fichier excel de Tibo (qui fonctionne très bien).

En effet, j'essaie d'apprendre des choses grâce à son fichier mais certains points sont obscurs. Est-ce que quelqun pourrait m'éclairer (Tibo de préférence) ?

voici mes questions sur son (ton) fichier excel :
1)Comment a été défini Crit ?

2)comment se fait-il que le résultat de =TROUVE(Crit;peutimportelacellulesaisie) soit toujours 1 ? (quelque soit la cellule saisie ?)

3)Dans la colonne A de l'onglet taxe d'apprentissage, pourquoi apparait "Crit" là où apparait normalement le nom de la police utilisée ? Je n'avais jamais vu ça, qquelque chose m'échappe, je le sens !!

4)Je ne comprends pas comment les résultats suivants :

D'abord je tape le mot SNCF dans B9 (c'est donc un mot qui ne fait pas partie des mots clefs "Crit")
pourquoi le résultat de
=SOMMEPROD((Crit<>"")*ESTNUM(TROUVE(Crit;$B9)))
est 0
alors que
=SOMMEPROD((Crit<>"")*ESTNUM(TROUVE(Crit;$B8)))
est 1 ????
(interrogation sur le fonctionnement de cette fonction, malgré le fait d'avoir consulté l'aide) est-ce que qqun pourait m'expliquer ce qui se passe en réalité là dessous ?

5) je tape FRERE en G2
SOEUR enG3
MERE en G4
PERE en G5
je donne ensuite un nom à cette plage de cellules (je clique sur insertion, nom, définir...)
je lui donne le nom FAMILLE
je tape SOEUR en H2
Pourquoi quand je rentre la formule =TROUVE(FAMILLE;H2) il me met #VALEUR! ? ne devrait-il pas reconnaitre SOEUR comme faisant partie de FAMILLE ?
En revanche, il me renvoit 1 si je tape FRERE en H2 ???

voilà
merci pour votre aide précieuse.
Lingals
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 924
Membres
101 841
dernier inscrit
ferid87