RechercheV mot simple

Résolu/Fermé
Gravenul Messages postés 9 Date d'inscription mercredi 3 juin 2020 Statut Membre Dernière intervention 12 février 2021 - 8 févr. 2021 à 23:36
Gravenul Messages postés 9 Date d'inscription mercredi 3 juin 2020 Statut Membre Dernière intervention 12 février 2021 - 12 févr. 2021 à 17:15
Bonsoir tout le monde,

J'ai un tableau associatif qui fonctionne assez bien, avec plusieurs colonnes fonctionnant avec des RechercheV pour faire gagner du temps en saisie.

La base du travail en BDD étant un chaine de texte extraite en ligne copiées/collées au fur et à mesure (dans la colonne D).

Le but est que si la formule en E détecte un mot-clé (compris dans une liste de l'onglet LISTE), il y renvoie ce mot.

ça marche à 80% lorsque les intitulés sont identiques, mais une différence dans la chaine de texte me met en erreur, même si le mot-clé y est présent.

Y'a t-il moyen de conserver ce système simple en RechercheV en le corrigeant, ou des formules sont mieux appropriées pour mon problème ?

Un exemple réduit en lien, avec des ajouts pour mieux illustrer.

En vous remerciant par avance pour votre aide.


https://www.cjoint.com/c/KBiwFRkHv28


Configuration: Windows / Firefox 85.0

7 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
9 févr. 2021 à 07:42
Bonjour,

Proposition avec une fonction personnalisée, la liste des mots-clé est réduite à 1 seul mot et la formule à appliquer est en E5:
=Mot_Cle(Tableau1[[#Cette ligne];[Extract]];nom)

Je n'ai pas adapté la colonne F

https://mon-partage.fr/f/2lSiLI3k/

Cdlt
1
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
10 févr. 2021 à 01:43
Bonjour.

L'un de vous deux pourrait-il m'aider à comprendre le problème, et quel exemple de réponse est attendu ?
1
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
10 févr. 2021 à 04:59
Bonjour Gravenul, Raymond,

A Raymond:
Le but est de détecter dans une chaîne de caractères un mot clé présent dans une liste, si ce mot-clé est détecté alors on affiche dans la colonne adjacente ce mot-clé.
Je suppose que la finalité est de faire un tri par mot-clé pour ne sélectionner que les lignes comportant ce mot-clé.

A Gravenul:
Quand on doit créer des formules longues, complexes ou bien que les fonctions natives d'excel ne suffisent pas à répondre à un problème donné, alors on crée sa propre fonction.

Les fonctions personnalisées sont réalisées avec un petit bout de code en VBA(Visual Basic for Application), elles fonctionnent et s'utilisent comme les fonctions natives d'excel.

Celle que j'ai créé s'appelle "Mot-Cle" mais, le fait que vous ayez construit votre base de donnée dans un tableau structuré ne facilite pas la lecture de la formule ni sa compréhension.

Je vous remets le fichier à disposition, mais après avoir reconverti le tableau en plage pour une lecture plus aisée de la formule.

Ainsi, dans le tableau structuré, la formule précédente était:
=Mot_Cle(Tableau1[[#Cette ligne];[Extract]];nom)


Dans le tableau convertit en plage, elle devient:
=Mot_Cle(Bdd!$D5;nom)


https://mon-partage.fr/f/vPYtabs0/

Cdlt
1
Gravenul Messages postés 9 Date d'inscription mercredi 3 juin 2020 Statut Membre Dernière intervention 12 février 2021
9 févr. 2021 à 21:58
Bonsoir Frenchie83, et merci beaucoup pour votre aide.

Je m'excuse pour mon ignorance, car je ne connais pas les fonctions personnalisées, mais je ne comprends pas vraiment la formule à adapter.

Le résultat sur l'exemple retourné met d'office toute la colonne E en erreur #NOM?

Devais-je appliquer cela d'une façon particulière ?

Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gravenul Messages postés 9 Date d'inscription mercredi 3 juin 2020 Statut Membre Dernière intervention 12 février 2021
Modifié le 11 févr. 2021 à 16:41
Bonsoir Frenchie, bonsoir Raymond,

Frenchie83 :
Ok je comprends mieux le concept des formules personnalisées. Lorsque j'avancerai dans mon apprentissage d'excel, j'imagine que je finirai par devoir m'y mettre ainsi qu'au VBA.

J'avais mis ma bdd sous forme de tableau car finalement (après des années) j'y ai vu beaucoup d'aspects pratiques.


Je vois que je n'ai pas été assez clair dans le message d'origine.

Le tableau joint est un exemple représentatif des problèmes rencontrées sur celui de 2020.

RechercheV est utilisé pour réduire le temps de saisie (à moi et aux autres utilisateurs).
La base, c'est cette colonne "Extract" en onglet Bdd.
J'y mets la ligne de caractères issue de l'extraction XLS de la banque (ou le type de mouvement si hors banque).

Le but étant que, sur la base de cette colonne, les autres se remplissent automatiquement via des listes prédéfinies dans l'autre onglet "Liste".

Ce que je veux améliorer sur le tableau 2021, c'est les lignes non-identiques, qui passent au travers, et doivent être saisies manuellement. Au fil de l'an ça en fait quand même beaucoup.


Exemple :


*
    • Les cotisants faisant un virement PERMANENT ont toujours la même ligne avec la même chaîne de caractère ===> OK ; Dans mon onglet liste, je copie cette ligne une bonne fois pour toutes en C, et y associe le mot-clé que je veux voir apparaître en D.


Ce mot-clé en D est associé à une deuxième liste (mode de paiement) elle même associée à un dépôt ect...tout ça en RechercheV. Ça marche bien car 4/5 choix possibles MAX (ces colonnes ne sont pas dans l'exemple).


*
    • Les versements ponctuels (mais réguliers) d'une même personne ou organisme, ou remise de chèques ===> NON OK ; il y'a bien un nom ou mot-clé exploitable MAIS comme il y'a un numéro de transaction qui change chaque fois, la RechercheV (tel que je le fais) ne fonctionne pas. Sauf si je rajoute à chaque fois la nouvelle ligne de caractère en Onglet "liste, colonne C". Mais où serait l'intérêt ?

J'ai illustré cet exemple dans le fichier joint par les cas "Monique" "MR denn" et sumup".

Mon Attendu :

Si utilisé autrement, Recherche V est-il capable de solutionner cela ?
Si non, un autre type de formule est-il mieux adapté ?


J'espère que mon problème vous paraît plus clair ainsi.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
12 févr. 2021 à 05:31
Bonjour,

Pas sûr de bien comprendre, le fichier que j'ai retourné ne répond-il pas à la question posée?

Il renvoi bien le mot-clé dans la colonne E de la feuille "BDD".

Pour la construction de la liste des mots-clé, inutile de recopier les différentes chaînes de l'extraction de la BDD, il suffit de mettre en colonne A uniquement les mots-clé recherchés.

Avec ce système , on fait abstraction des dates, N° de compte, N° de chèque, N° de transaction, etc...

Si la liste des mots-clé baptisée "nom" doit s'agrandir, il vous suffit d'ajouter les mots-clé à la suite et de redéfinir la plage "nom".

Pour redéfinir la plage "nom":
- Cliquez sur l'onglet "Formules"
- Dans l'encart "Noms définis", Cliquez sur "Gestionnaires de noms"
- Dans la fenêtre qui s'ouvre, sélectionnez la ligne "nom"
- En bas, dans "Fait référence à", sélectionnez la liste des mots-clé.
- Enregistrez, Fermez

Cdlt
0
Gravenul Messages postés 9 Date d'inscription mercredi 3 juin 2020 Statut Membre Dernière intervention 12 février 2021
12 févr. 2021 à 17:15
Bonjour Frenchie83,

Au temps pour moi, je voyais des messages d'erreur sur toute la colonne E depuis le départ car les macros étaient bloquées à l'ouverture, je n'avais pas fait gaffe.

Oui effectivement, ainsi, cela répond parfaitement à mon problème.

Du coup, dans ce cas de figure, on atteint la limite de ce que je peux faire avec Recherche V, et il faut passer par du code ?

Dans tous les cas, il est grand temps que je m'y mette, en commençant par bien étudier ton exemple.

Un grand merci pour ton aide !
0