Excel VBA : fonction de recherche avancée
danielc0 Messages postés 1298 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 30 novembre 2024 - 9 juil. 2024 à 15:16
- Excel VBA : fonction de recherche avancée
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Excel compter cellule couleur sans vba - Guide
10 réponses
8 juil. 2024 à 09:48
Bonjour,
Pas sûr d'avoir bien compris. Sans VBA, avec Excel 365, la formule :
=JOINDRE.TEXTE(", ";;REDUCE("";FRACTIONNER.TEXTE(E3;;", ");LAMBDA(x;y;SI(ESTNUM(CHERCHE(y;D3));ASSEMB.H(x;y);x))))
renvoie :
ALL AMERICAN, ALWAYS BE , Back to School
?
Daniel
Modifié le 8 juil. 2024 à 10:17
Bonjour,
Ou est ce que tu mets cette formule, ça ne marche pas chez moi.
Merci
P.S : j'ai Excel 2013
8 juil. 2024 à 11:51
La formule ne fonctionne pas avec Excel 2013. Il faut une solution par VBA. Est-ce que "back to school" est correct ?
Daniel
8 juil. 2024 à 11:57
Oui si back to school est dans la liste de mots oui, ici dans la liste que je t'ai mis, elle n'y est pas donc elle ne doit pas apparaître dans le résultat.
8 juil. 2024 à 12:07
Essaie :
Sub test() Dim C As Range, Tabl As Variant, Txt As String Application.EnableEvents = False For Each C In Range("E2", Cells(Rows.Count, 5).End(xlUp)) Tabl = Split(C, ", ") Txt = "" For Each Item In Tabl If IsNumeric(Application.Search(Item, C.Offset(, -1))) Then Txt = Txt & ", " & Item End If Next Item Txt = Right(Txt, Len(Txt) - 2) C.Offset(, 1) = Txt Next C Application.EnableEvents = True End Sub
Daniel
8 juil. 2024 à 15:41
ça ne marche pas, vu qu'il fait le calcul en fonction de la colonne E au lieu de la colonne D. C'est sur la colonne D que je vais coller mes listes de phrases.
Merci pour ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question8 juil. 2024 à 16:08
Oups, tu veux colorier la colonne D ?
Daniel
8 juil. 2024 à 16:11
Ce n'est pas ce que tu indiques ici :
"- S'il trouve, je souhaite que dans la colonne E, il me met une croix en rouge et dans F, il m'indique le ou les mots/phrases qui posent problèmes et pourquoi pas dans la "
C'est quoi une "Croix en rouge" ?????
Daniel
Modifié le 8 juil. 2024 à 16:41
Alors je t'explique en détail :
J'ai ma liste de mots en colonne A
La source du problème en colonne B
Je colle ma liste en colonne D
En colonne E, je veux que ça vérifie si la colonne D concorde avec la colonne A, si c'est le cas => colonne E avec un logo de croix rouge, s'il ne trouve pas de concordance donc il me met le logo de check en vert
Et en colonne F, il me remet la source du problème TM ou CC, si c'est les deux, il me met TM, CC
Est-ce que c'est plus clair maintenant ?
Merci
8 juil. 2024 à 17:02
Ecoute, je n'y comprends rien et je ne vais pas passer la nuit là-dessus. Pour quoi une partie de la colonne D est en rouge ? C'est quoi, des "logos" ? C'est des icônes ? Prends une cellule et explique très précisément ce que tu veux qu'on fasse. Sinon, je passe mon tour.
Daniel
8 juil. 2024 à 17:25
On va faire plus simple, désolé si je m'exprime mal.
Je te donne un exemple :
Dans ma colonne A, j'ai une liste de mots tels que :
A2 : 1st Time / B2 : TM
A3 : 2nd Grade / B3 : CC
A4 : ALL AMERICAN / B4 : CC
A5 : All day
A6 : ALWAYS BE / B6 : CC
A7 : ALWAYS THINKING
A8 : Bad Day To Be A Beer
A9 : BORN TO FISH FORCED TO WORK
Dans ma colonne B, j'ai le motif du problème TM ou CC ou autres
Dans ma colonne D, j'ai rien, je vais coller à partir de D2 des listes de mots comme (sans virgule) :
D2 : 1st time dad beer song always be
D3 : always be kidding with dad
En E2, je veux cette réponse : 1st time, always be (couleur rouge car elle concorde avec la colonne A2 et A6) par contre si dans E2, rien ne concorde parfaitement, j'ai le mot "safe" par exemple en vert qui est marqué ou un icone qui sourit pour me dire que ça passe.
En F2 : j'aurais comme réponse : TM, CC (first time étant TM / always be étant CC), si rien ne concorde, ça sera vide
J'espère avoir été clair.
Merci beaucoup
9 juil. 2024 à 09:17
Bonjour,
"par contre si dans E2, rien ne concorde parfaitement, j'ai le mot "safe" par exemple en vert qui est marqué ou un icone qui sourit pour me dire que ça passe."
Donne un exemple de ce cas.
"par contre si dans E2, rien ne concorde parfaitement"
Que fait-on dans ce cas ?
Modifié le 9 juil. 2024 à 10:37
Est-ce que c'est ce que tu veux ?
(Erreur sur le positionnement de l'icône de la 3e ligne)
Daniel
Alors non tu ne m'as pas bien compris.
Je voudrais déjà que la colonne D n'apparait pas en rouge vu qu'on va trouver les correspondance en colonne E.
Si dans la colonne E, on trouve des correspondances, les écrire et les mettre de couleur rouge (ce qui est négatif donc pas de smiley)
Si par contre, on ne trouve pas de correspondances, on a juste l'icone smiley (comme celle que tu as mis) qui doit apparaître pour dire que ça passe
La colonne F est bien, j'aime bien ce que tu as fais
9 juil. 2024 à 12:31
Jamais de rouge, alors ? Tu te payes ma tête ?
Daniel
Modifié le 9 juil. 2024 à 13:42
Pas du tout au début, je voulais que les mots de la colonne D qui posent problème soit en rouge mais vu la difficulté de ce challenge, je ne voulais pas t'embêter davantage.
C'est pour cela.
Exemple :
Voilà exactement ce que je veux, merci pour tout.
9 juil. 2024 à 14:38
Tu me fais perdre mon temps. J'abandonne. Prends une semaine et réfléchis à ce que tu veux VRAIMENT :
1. Pour la colonne E :
11:10 : "Si dans la colonne E, on trouve des correspondances, les écrire et les mettre de couleur rouge (ce qui est négatif donc pas de smiley)"
2. Pour la colonne D :
"Je voudrais déjà que la colonne D n’apparaît pas en rouge vu qu'on va trouver les correspondance en colonne E."
Trouve quelqu'un d'autre.
Daniel
9 juil. 2024 à 12:24
"Je voudrais déjà que la colonne D n'apparait pas en rouge vu qu'on va trouver les correspondance en colonne E."
Pour info, je n'ai pas modifié cette colonne. C'est ton classeur initial, d'où confusion dès le départ.
Colle une image avec le résultat voulu.
Daniel