Formule pour extraire des donnees sur 1 mot dans une phrase

Fermé
glaieuls29 Messages postés 174 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 5 mai 2021 - 14 avril 2021 à 08:20
glaieuls29 Messages postés 174 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 5 mai 2021 - 15 avril 2021 à 11:26
Bonjour,

j'aurai souhaité apporter une ultime retouche sur un tableau sous EXCEL 2016.

serait-il possible de rechercher 1 seul mot dans des phrases sur toute une colonne d'un tableau ?
je m'explique :
j'ai un tableau (feuil1) de plusieurs centaines de lignes et 9 colonnes.

l'onglet feuil1 etant satué d'info, j'ai donc créé un onglet pour faire des recherches sur les colonnes "entrepise", "montant","banque" et "travaux".
seule la colonne "travaux" m'intéresse.
tout fonctionne quand il n'y a eu qu'un seul mot de saisi.

ex : mot recherché "thermique"
si j'avais saisi "etude thermique "-----> ça ne marcherait pas
si j'avais saisi "thermique"-------> ok j'aurais toutes les infos correspondant à la ligne (date, ets, montant....)

j'aurais voulu adapter ce type de formule (ca ne fonctionne que si je specifie la ligne)

=SIERREUR(STXT(Feuil1!d20;CHERCHE(F2;Feuil1!d20;1);NBCAR(F2));"***");

à cette formule : (seule la partie en gras est à modifier)

=SI(ET($D$2="";$E$2="";$F$2="");SIERREUR(INDEX(Feuil1!$E:$E;AGREGAT(15;6;(1/(Tableau1[ENTREPRISE]=$C$2))*LIGNE(Tableau1[ENTREPRISE]);LIGNE(A1)));"");

SI(ET($CS2="";$E$2="";$F$2="");(SIERREUR(INDEX(Feuil1!$E:$E;AGREGAT(15;6;(1/(Tableau1[MONTANT]=$D$2))*LIGNE(Tableau1[MONTANT]);LIGNE(A1)));""));

SI(ET($C$2="";$D$2="";$F$2="");(SIERREUR(INDEX(Feuil1!$E:$E;AGREGAT(15;6;(1/(Tableau1[BANQUE]=$E$2))*LIGNE(Tableau1[BANQUE]);LIGNE(A1)));""));

SI(ET($C$2="";$D$2="";$E$2="");(SIERREUR(INDEX(Feuil1!$E:$E;AGREGAT(15;6;(1/(Tableau1[TRAVAUX]=$F$2))*LIGNE(Tableau1[TRAVAUX]);LIGNE(A1)));""));


SI(ET($C$2<>"";$D$2<>"";$E$2<>"";$F$2<>0);0;"")))))

je sais c'était un peu long et merci d'avoir lu jusqu'au bout :)

J'espère avoir été assez explicite, et je remercie par avance tout ceux qui se pencheront sur ce problème pour m'aider et encore tout ceux qui m'ont déjà apporté leur aide par le passé.

cordialement
glaieuls29.

Configuration: Windows / Firefox 87.0
A voir également:

8 réponses

The_boss_68 Messages postés 928 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 10 juin 2024 177
14 avril 2021 à 11:35
Bonjour,

Je pense qu'avec un fichier joint anonymisé il serait plus facile pour les contributeurs de t'aider dans l’élaboration du fichier en question

Slts
0
glaieuls29 Messages postés 174 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 5 mai 2021
14 avril 2021 à 13:54
re,
oui merci j'en expédie un modèle très simplifié.

quelques précisions qui pourraient peut être avoir leur importance:

la recherche devra se faire dans un nouvel onglet et avec des données saisies qui vont encore evoluer

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

Merci encore

glaieuls29
0
The_boss_68 Messages postés 928 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 10 juin 2024 177
14 avril 2021 à 20:37
Bonsoir,

Un essai avec un TextBox pour la recherche voir Pj

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

Slts
0
glaieuls29 Messages postés 174 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 5 mai 2021
14 avril 2021 à 21:12
merci the_boss_68......tu es un boss.

je trouve ton approche très intéressante. totalement à l'ouest de la mienne.

ca semble fonctionner. Il me reste à incorporer cet onglet dans le programme.

si je modifie son nom par "feuil1" ça posera un pb pour son déroulement ?

je te tiens au courant.

merci beaucoup pour ton coup de main.

à plus

glaieuls29
0

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

Posez votre question
glaieuls29 Messages postés 174 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 5 mai 2021
14 avril 2021 à 21:33
re,
je viens de faire l'essai "grandeur nature" ça fonctionne super bien.

le seul inconvénient c'est que ça rame à la saisie de chaque lettre. Env 15 sec entre la saisie et l'affichage de la lettre dans le rectangle bleu.

on peut y remedier ?

cdt

glaieuls29
0
The_boss_68 Messages postés 928 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 10 juin 2024 177
14 avril 2021 à 23:00
Bonsoir

Déjà mettre ce code dans ThisWorkbook
Private Sub Workbook_Open()
With Feuil3
Feuil3.LastLine = .Range("B" & .Rows.Count).End(xlUp).Row
End With
End Sub


en modifiant :
With Feuil3
Feuil3.LastLine = .Range("B" & .Rows.Count).End(xlUp).Row

Par les valeurs que tu as mis sur ton code à toi voir grosso modo la ligne 63

Sinon j'en sais rien pour la lenteur c'est dû certainement à la quantité des valeurs recherchés dans l'onglet BD

Slts
0
glaieuls29 Messages postés 174 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 5 mai 2021
15 avril 2021 à 08:47
re,

j'ai fait ce que tu m'as dit pour thisworkbook mais je ne suis pas certain d'avoir bien compris ce que tu voulais dire par "les valeurs que tu as mis sur ton code a toi voir grosso modo la ligne 63".
range" b"......? j
je fais comment pour faire apparaitre les n° ligne ?

voilà ce que j'ai fait :

après importation ton feuil3 ( feuillet "recherche") est devenu feuil8 chez moi.
- j'ai donc modifié dans le code tous les mots feuil3 en feuil8.
- range "b" : la je bloque je vois pas où ni quoi rechercher pour la modification.

sinon j'ai rajouté un "Application.ScreenUpdating = True" à la fin du code feuil8 "recherche".
l'affichage du resultat arrive avt l'affichage de ma saisie dans le rectangle bleu

c'est beaucoup plus rapide ...mais.(20 sec env pour faire le tri sur 150 lignes)

Pour limiter la recherche, ne pourrions nous pas demander via un textbox dans quelle colonne faire le tri ?
(sur l'ensemble ou uniquement "entreprise", "travaux", montant "banque")

tous les cas

MERCI de passer du temps pour m'aider car comme tu as pu le remarquer je ne suis qu' un débutant "petit joueur".
cdt
0
glaieuls29 Messages postés 174 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 5 mai 2021
15 avril 2021 à 11:26
re,
je viens de rajouter un autre "application.screenupdating = true" dans le 1er pavé de code et c'est encore mieux.

.....petit à petit l'oiseau fait son nid lol

à plus.
0