Recherche
Fermé
Excel
-
12 oct. 2014 à 14:09
via55 Messages postés 14474 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 19 septembre 2024 - 12 oct. 2014 à 16:55
via55 Messages postés 14474 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 19 septembre 2024 - 12 oct. 2014 à 16:55
A voir également:
- Recherche
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche musique - Guide
- Recherche adresse - Guide
- Google recherche par image - Guide
- Recherche privée - Guide
3 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
Modifié par Vaucluse le 12/10/2014 à 14:27
Modifié par Vaucluse le 12/10/2014 à 14:27
Bonjour
pour rechercher à partir d'une partie de texte contenu dans une cellule:
à adapter
=RECHERCHEV("*texte à trouver*";A:B;2;0)
ou si cette élément de texte est placé par exemple en C1
=RECHERCHEV("*"&C1"*";A:B;2;0)
crdlmnt
Errare humanum est, perseverare diabolicum
pour rechercher à partir d'une partie de texte contenu dans une cellule:
à adapter
=RECHERCHEV("*texte à trouver*";A:B;2;0)
ou si cette élément de texte est placé par exemple en C1
=RECHERCHEV("*"&C1"*";A:B;2;0)
crdlmnt
Errare humanum est, perseverare diabolicum
via55
Messages postés
14474
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
19 septembre 2024
2 728
12 oct. 2014 à 14:44
12 oct. 2014 à 14:44
Bonjour
Possible avec une fonction personnalisée
Ouvrir Editeur VBA (ALT +F11)
Insertion Module
puis copier coller la macro ci-dessous
Fermer l'éditeur
La fonction est accessible comme toutes les autres fonctions excel (en tapant = et les premières lettres de son nom)
En B2 mettre la formule =rechOccur(A1)
Cdlmnt
Possible avec une fonction personnalisée
Ouvrir Editeur VBA (ALT +F11)
Insertion Module
puis copier coller la macro ci-dessous
Function rechOccur(machaine As String) Dim Tableau() As String Dim n As Integer rechOccur = "Non trouvé" 'découpe la chaine en fonction des espaces " " et le résultat de la fonction Split est stocké dans un tableau Tableau = Split(machaine) 'boucle sur les mots de la chaine For n = 0 To UBound(Tableau) ' boucle sur les cellules de la base For t = 30 To 340 ' si le mot est trouvé la ref en colonne B est stochée dans rechOccur If Range("A" & t) = Tableau(n) Then rechOccur = Range("B" & t) Next t Next n End Function
Fermer l'éditeur
La fonction est accessible comme toutes les autres fonctions excel (en tapant = et les premières lettres de son nom)
En B2 mettre la formule =rechOccur(A1)
Cdlmnt
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
12 oct. 2014 à 16:25
12 oct. 2014 à 16:25
Salut Via
.. ça va et toi
Selon ce que tu as compris, voila tout ce que je sais faire par formule!
https://www.cjoint.com/c/DJmqB2oqn8w
Bonne fin de Week end
Bien amicalement
.. ça va et toi
Selon ce que tu as compris, voila tout ce que je sais faire par formule!
https://www.cjoint.com/c/DJmqB2oqn8w
Bonne fin de Week end
Bien amicalement
via55
Messages postés
14474
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
19 septembre 2024
2 728
12 oct. 2014 à 16:55
12 oct. 2014 à 16:55
Oui, bien !
Cela me conduit à rectifier ma fonction personnalisée pour que plusieurs résultats soient renvoyés quand c'est le cas :
Bonne fin de week-end aussi
Bien amicalement
Cela me conduit à rectifier ma fonction personnalisée pour que plusieurs résultats soient renvoyés quand c'est le cas :
Function rechOccur(machaine As String) Dim Tableau() As String Dim n As Integer rechOccur = "" 'découpe la chaine en fonction des espaces " " et le résultat de la fonction Split est stocké dans un tableau Tableau = Split(machaine) 'boucle sur les mots de la chaine For n = 0 To UBound(Tableau) ' boucle sur les cellules de la base For t = 30 To 340 ' si le mot est trouvé la ref enc olonne B est stochée dans rechOccur If Range("A" & t) = Tableau(n) Then rechOccur = rechOccur & " " & Range("B" & t) Next t Next n If rechOccur = "" Then rechOccur = "Non trouvé" End Function
Bonne fin de week-end aussi
Bien amicalement
12 oct. 2014 à 14:47
En forme ?
Il me semble que c'est l'inverse que le demandeur voudrait : retrouver une partie du texte de référence dans la base (et non le texte de ref dans une partie de la base)
Personnellement je ne vois pas d'autre solution qu'une fonction personnalisée comme celle que j'indique dans ma réponse au demandeur, mais si tu vois une autre manière ça m'intéresse
Bien cordialement