Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche multiple

11 réponses
Avatar
Guillaume
Bonjour,
Voici une fonction :
=RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10)&RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12))&CAR(10)&.............
Comment faire, s'il n'y a aucune réponse pour l'une des recherches, pour
n'afficher que le résultat des recherches fructueuses.

10 réponses

1 2
Avatar
Trirème
Bonjour Guillaume
Ceci :
=SI(ESTERREUR(RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24));"";RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10))&SI(ESTERREUR(RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12));"";RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12)&CAR(10))&"............."
Déjà avec 2 concaténations c'est du lourd, j'ose pas imaginer la formule finale. ;-)

Le principe est SI(erreur(recherche);alors VIDE;sinon recherche et saut_de_ligne) &...
Cordialement
Trirème

Bonjour,
Voici une fonction :
=RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10)&RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12))&CAR(10)&.............
Comment faire, s'il n'y a aucune réponse pour l'une des recherches, pour
n'afficher que le résultat des recherches fructueuses.


Avatar
Guillaume
Bonsoir Trirème,
Merci pour ta réponse, mais ce n'est pas encore ça. Avec ta formule
l'absence de réponse dans une recherche me met une ligne blanche, et c'est
cela qui me gene le plus.

J'était déja arrivé au meme résultat en mettant dans la derniere ligne de
mon vecteur résultat une case blanche.


Bonjour Guillaume
Ceci :
=SI(ESTERREUR(RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24));"";RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10))&SI(ESTERREUR(RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12));"";RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12)&CAR(10))&"............."
Déjà avec 2 concaténations c'est du lourd, j'ose pas imaginer la formule finale. ;-)

Le principe est SI(erreur(recherche);alors VIDE;sinon recherche et saut_de_ligne) &...
Cordialement
Trirème

Bonjour,
Voici une fonction :
=RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10)&RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12))&CAR(10)&.............
Comment faire, s'il n'y a aucune réponse pour l'une des recherches, pour
n'afficher que le résultat des recherches fructueuses.





Avatar
cousinhub
Bonsoir, en VBA, cela t'intéresserait-il?
une piste :

Sub rech_multiple()

Sheets(1).Select
[c4] = ""
x1 = Evaluate("=LOOKUP(c1,a2:a8,b2:b8)")
x2 = Evaluate("=LOOKUP(c2,a2:a8,b2:b8)")
x3 = Evaluate("=LOOKUP(c3,a2:a8,b2:b8)")
For Each m In Array(x1, x2, x3)
If Not IsError(m) Then
[c4] = [c4] & m & Chr(10)
End If
Next
[c4] = Left([c4], Len([c4]) - 1)
End Sub


Bonjour,
Voici une fonction :
=RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10)&RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12))&CAR(10)&.............
Comment faire, s'il n'y a aucune réponse pour l'une des recherches, pour
n'afficher que le résultat des recherches fructueuses.


Avatar
cousinhub
Re-,
Ps rajoute cette ligne juste après Next
On Error Resume Next
Bonne soirée

Bonsoir, en VBA, cela t'intéresserait-il?
une piste :

Sub rech_multiple()

Sheets(1).Select
[c4] = ""
x1 = Evaluate("=LOOKUP(c1,a2:a8,b2:b8)")
x2 = Evaluate("=LOOKUP(c2,a2:a8,b2:b8)")
x3 = Evaluate("=LOOKUP(c3,a2:a8,b2:b8)")
For Each m In Array(x1, x2, x3)
If Not IsError(m) Then
[c4] = [c4] & m & Chr(10)
End If
Next
[c4] = Left([c4], Len([c4]) - 1)
End Sub


Bonjour,
Voici une fonction :
=RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10)&RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12))&CAR(10)&.............

Comment faire, s'il n'y a aucune réponse pour l'une des recherches,
pour n'afficher que le résultat des recherches fructueuses.




Avatar
Guillaume
Merci cousinhub ,
Mais je ne comprend pas le VBA, je ne sait meme pas ce que c'est.

On y fait souvent réference dans les forums, pouvez-vous m'indiquer la voie
à suivre pour apprendre ce language et enfin le comprendre.


Bonsoir, en VBA, cela t'intéresserait-il?
une piste :

Sub rech_multiple()

Sheets(1).Select
[c4] = ""
x1 = Evaluate("=LOOKUP(c1,a2:a8,b2:b8)")
x2 = Evaluate("=LOOKUP(c2,a2:a8,b2:b8)")
x3 = Evaluate("=LOOKUP(c3,a2:a8,b2:b8)")
For Each m In Array(x1, x2, x3)
If Not IsError(m) Then
[c4] = [c4] & m & Chr(10)
End If
Next
[c4] = Left([c4], Len([c4]) - 1)
End Sub


Bonjour,
Voici une fonction :
=RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10)&RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12))&CAR(10)&.............
Comment faire, s'il n'y a aucune réponse pour l'une des recherches, pour
n'afficher que le résultat des recherches fructueuses.





Avatar
cousinhub
Bonsoir,
trop vaste sujet pour être entièrement développé sur ce forum, n'étant
moi-même qu'un utilisateur catégorie "Débutant".
La solution que je te soumettais te permettait, en cliquant sur un
bouton, d'obtenir ton résultat, sans les messages d'erreur, ni les
lignes vides.
On peut aussi obtenir le même résultat (avec le même code), rien qu'en
se déplaçant dans la feuille, en sélectionnant la cellule où on veut
voir apparaître le résultat par exemple...
Je te prépare un petit manuel afin de pouvoir l'utiliser ainsi qu'un
fichier exemple, je le mettrai en ligne sur ce forum, avec Cjoint
A tout de suite
Avatar
cousinhub
Re-,
Voici les liens pour ton problème
cliques dessus et enregistre-les sur ton disque dur avant de les ouvrir

http://cjoint.com/?cpw0ILJHWC (texte)
http://cjoint.com/?cpw1vAU1Gv (Fichier exemple)

Reviens si tu as des questions
Bon courage

Merci cousinhub ,
Mais je ne comprend pas le VBA, je ne sait meme pas ce que c'est.

On y fait souvent réference dans les forums, pouvez-vous m'indiquer la voie
à suivre pour apprendre ce language et enfin le comprendre.


Bonsoir, en VBA, cela t'intéresserait-il?
une piste :

Sub rech_multiple()

Sheets(1).Select
[c4] = ""
x1 = Evaluate("=LOOKUP(c1,a2:a8,b2:b8)")
x2 = Evaluate("=LOOKUP(c2,a2:a8,b2:b8)")
x3 = Evaluate("=LOOKUP(c3,a2:a8,b2:b8)")
For Each m In Array(x1, x2, x3)
If Not IsError(m) Then
[c4] = [c4] & m & Chr(10)
End If
Next
[c4] = Left([c4], Len([c4]) - 1)
End Sub


Bonjour,
Voici une fonction :
=RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10)&RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12))&CAR(10)&.............
Comment faire, s'il n'y a aucune réponse pour l'une des recherches, pour
n'afficher que le résultat des recherches fructueuses.






Avatar
JB
Bonjour,

Dans un module (Alt+F11 puis insertion/module)

Function chercheMult(v, ListeChamp)
Application.Volatile
temp = ""
a = Split(ListeChamp, ",")
For i = LBound(a) To UBound(a)
x = Application.HLookup(v, Range(a(i)), 2, 0)
If Not IsError(x) Then temp = temp & x & Chr(10)
Next i
chercheMult = Left(temp, Len(temp) - 1)
End Function

Dans le tableur:

=chercheMult(B8;"champ1,champ2,champ3")

http://cjoint.com/?cqja4VJ3J7

JB
On 15 fév, 20:23, Guillaume
wrote:
Bonsoir Trirème,
Merci pour ta réponse, mais ce n'est pas encore ça. Avec ta formule
l'absence de réponse dans une recherche me met une ligne blanche, et c' est
cela qui me gene le plus.

J'était déja arrivé au meme résultat en mettant dans la derniere ligne de
mon vecteur résultat une case blanche.




Bonjour Guillaume
Ceci :
=SI(ESTERREUR(RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24));"";RECHERCHE (B8;Fe­uil3!B1:B24;Feuil3!C1:C24)&CAR(10))&SI(ESTERREUR(RECHERCHE(B8;Feui l2!F2:F12­;Feuil2!G2:G12));"";RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12)&C AR(10))&"...­.........."
Déjà avec 2 concaténations c'est du lourd, j'ose pas imaginer la formule finale. ;-)

Le principe est SI(erreur(recherche);alors VIDE;sinon recherche et saut _de_ligne) &...
Cordialement
Trirème

Bonjour,
Voici une fonction :
=RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10)&RECHERCHE(B8;Feu il2!F2:F­12;Feuil2!G2:G12))&CAR(10)&.............
Comment faire, s'il n'y a aucune réponse pour l'une des recherches, pour
n'afficher que le résultat des recherches fructueuses.- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
Trirème
l'absence de réponse dans une recherche me met une ligne blanche, et c'est
cela qui me gene le plus.


Éventuellement il y a une ligne de '....' que j'ai gardée à la fin, mais tu peux l'enlever.
Il y a un (pas plus) saut de ligne intempestif à la fin s'il y a au moins une recherche
positive. S'il n'y a aucune recherche positive, avec les '...' en moins ça devrait aller ?

J'essaie de réviser la fin de la formule...
A plus.
Trirème

Avatar
Guillaume
Merci cousinhub, mais je n'ai pas réussi, ni à lire, ni à enregistrer les
fichiers joins que vous m'avez envoyé. Je suis peut ètre arrivé trop
tard...(je me suis assoupi quelques heures)
Pouvez-vous me les renvoyer?
Merci d'avance.


Re-,
Voici les liens pour ton problème
cliques dessus et enregistre-les sur ton disque dur avant de les ouvrir

http://cjoint.com/?cpw0ILJHWC (texte)
http://cjoint.com/?cpw1vAU1Gv (Fichier exemple)

Reviens si tu as des questions
Bon courage

Merci cousinhub ,
Mais je ne comprend pas le VBA, je ne sait meme pas ce que c'est.

On y fait souvent réference dans les forums, pouvez-vous m'indiquer la voie
à suivre pour apprendre ce language et enfin le comprendre.


Bonsoir, en VBA, cela t'intéresserait-il?
une piste :

Sub rech_multiple()

Sheets(1).Select
[c4] = ""
x1 = Evaluate("=LOOKUP(c1,a2:a8,b2:b8)")
x2 = Evaluate("=LOOKUP(c2,a2:a8,b2:b8)")
x3 = Evaluate("=LOOKUP(c3,a2:a8,b2:b8)")
For Each m In Array(x1, x2, x3)
If Not IsError(m) Then
[c4] = [c4] & m & Chr(10)
End If
Next
[c4] = Left([c4], Len([c4]) - 1)
End Sub


Bonjour,
Voici une fonction :
=RECHERCHE(B8;Feuil3!B1:B24;Feuil3!C1:C24)&CAR(10)&RECHERCHE(B8;Feuil2!F2:F12;Feuil2!G2:G12))&CAR(10)&.............
Comment faire, s'il n'y a aucune réponse pour l'une des recherches, pour
n'afficher que le résultat des recherches fructueuses.









1 2