Je souhaiterais r=E9aliser une macro me permettant d'afficher les donn=E9es=
de ma feuille Excel en fonction d'un crit=E8re de recherche (en recherchan=
t ce crit=E8re dans plusieurs colonnes).
Ma feuille Excel est compos=E9e de 13 colonnes avec des D=E9signations, Des=
criptions, R=E9f=E9rences, etc...=20
Ce code si dessous me permet de filtrer la colonne 7 en fonction du texte a=
fficher dans le "TextBox1" de mon UserForm.
Cela me prends tous les =E9l=E9ments avec le texte "TEST" dans la colonne 7=
puis me reprends les =E9l=E9ments de la colonne 8 ou il y a aussi le texte=
"TEST".
Ce que je souhaite c'est pouvoir faire un OU, je souhaite afficher tous les=
=E9l=E9ments de la colonne 7 et de la colonne 8 qui comprends l'un ou l'au=
tre le texte "TEST".=20
J'esp=E8re avoir =E9t=E9 claire.
Y a t'il une solution ?=20
Et enfin avec cela je souhaiterais pouvoir afficher toutes les lignes de mo=
n tableau o=F9 est pr=E9sent dans n'importe qu'elle colonne le crit=E8re du=
TextBox1.
Ce que tu veux pourrait être fait par un filtre élaboré.
Voici un exemple de code où tu devras adapter les plages de cellules qui conviennent à ton application.
'------------------------------------------- Sub test()
Dim Expr As String, sh As Worksheet Expr = "test"
'Nom de la feuille où sont les données Set sh = Worksheets("Feuil1")
With Sh 'Zone de critère pour le filtre élaboré Z1:Z2 .Range("Z1") = "" 'Tu laisses totalement vide 'Utilise cette formule en Z2 .Range("Z2").Formula = "=Search(""" & Expr & """,G2&H2)>0"
'J'ai supposé que la ligne 1 était la ligne de titre 'à toi d'adapter l'adresse de la plage With .Range("A1:P" & .Range("A65536").End(xlUp).Row) .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=sh.Range("Z1:Z2") End With .Range("z1:Z2").Clear 'effacer la plage de critère End With End Sub '-------------------------------------------
Bonjour,
Ce que tu veux pourrait être fait par un filtre élaboré.
Voici un exemple de code où tu devras adapter les plages de cellules qui conviennent à ton
application.
'-------------------------------------------
Sub test()
Dim Expr As String, sh As Worksheet
Expr = "test"
'Nom de la feuille où sont les données
Set sh = Worksheets("Feuil1")
With Sh
'Zone de critère pour le filtre élaboré Z1:Z2
.Range("Z1") = "" 'Tu laisses totalement vide
'Utilise cette formule en Z2
.Range("Z2").Formula = "=Search(""" & Expr & """,G2&H2)>0"
'J'ai supposé que la ligne 1 était la ligne de titre
'à toi d'adapter l'adresse de la plage
With .Range("A1:P" & .Range("A65536").End(xlUp).Row)
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=sh.Range("Z1:Z2")
End With
.Range("z1:Z2").Clear 'effacer la plage de critère
End With
End Sub
'-------------------------------------------
Ce que tu veux pourrait être fait par un filtre élaboré.
Voici un exemple de code où tu devras adapter les plages de cellules qui conviennent à ton application.
'------------------------------------------- Sub test()
Dim Expr As String, sh As Worksheet Expr = "test"
'Nom de la feuille où sont les données Set sh = Worksheets("Feuil1")
With Sh 'Zone de critère pour le filtre élaboré Z1:Z2 .Range("Z1") = "" 'Tu laisses totalement vide 'Utilise cette formule en Z2 .Range("Z2").Formula = "=Search(""" & Expr & """,G2&H2)>0"
'J'ai supposé que la ligne 1 était la ligne de titre 'à toi d'adapter l'adresse de la plage With .Range("A1:P" & .Range("A65536").End(xlUp).Row) .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=sh.Range("Z1:Z2") End With .Range("z1:Z2").Clear 'effacer la plage de critère End With End Sub '-------------------------------------------
Je ne comprends pas le "G2&H2", saurais-tu m'expliquer la formule stp.
MichD
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données débutent en colonne A. La ligne 2 est le numéro de la ligne qui représente la première ligne de données immédiatement sous la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de cellules est à adapter selon ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou l'autre des colonnes ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule "=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une fois.
Voilà!
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données débutent en colonne A.
La ligne 2 est le numéro de la ligne qui représente la première ligne de données immédiatement sous
la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de cellules est à adapter selon
ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou l'autre des colonnes
ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule
"=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une fois.
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données débutent en colonne A. La ligne 2 est le numéro de la ligne qui représente la première ligne de données immédiatement sous la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de cellules est à adapter selon ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou l'autre des colonnes ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule "=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une fois.
Voilà!
Jacquouille
Bonsoir Denis En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel saura-t-il trouver le mot "test" dans une partie d'un autre mot. Exemple G=test et H=àrefaire. Concaténé, cela donnera testarefaire. Ma question: il ne faudrait pas un truc du genre *test*? Bonne soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : mfh738$pk$
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données débutent en colonne A. La ligne 2 est le numéro de la ligne qui représente la première ligne de données immédiatement sous la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de cellules est à adapter selon ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou l'autre des colonnes ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule "=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une fois.
Voilà!
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
Bonsoir Denis
En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel
saura-t-il trouver le mot "test" dans une partie d'un autre mot.
Exemple G=test et H=àrefaire.
Concaténé, cela donnera testarefaire.
Ma question: il ne faudrait pas un truc du genre *test*?
Bonne soirée
Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
mfh738$pk$1@speranza.aioe.org...
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données
débutent en colonne A.
La ligne 2 est le numéro de la ligne qui représente la première ligne de
données immédiatement sous
la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de
cellules est à adapter selon
ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou
l'autre des colonnes
ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule
"=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une
fois.
Voilà!
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Bonsoir Denis En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel saura-t-il trouver le mot "test" dans une partie d'un autre mot. Exemple G=test et H=àrefaire. Concaténé, cela donnera testarefaire. Ma question: il ne faudrait pas un truc du genre *test*? Bonne soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : mfh738$pk$
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données débutent en colonne A. La ligne 2 est le numéro de la ligne qui représente la première ligne de données immédiatement sous la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de cellules est à adapter selon ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou l'autre des colonnes ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule "=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une fois.
Voilà!
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
GL
Le 01/04/2015 19:29, Jacquouille a écrit :
Bonsoir Denis En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel saura-t-il trouver le mot "test" dans une partie d'un autre mot. Exemple G=test et H=àrefaire. Concaténé, cela donnera testarefaire. Ma question: il ne faudrait pas un truc du genre *test*?
La réponse est oui, elle était dans la question. Et le test are are est are faire.
Bonne soirée Jacques.
Vous de même, Florent.
Le 01/04/2015 19:29, Jacquouille a écrit :
Bonsoir Denis
En concaténant G et H, on va créer un troisième mot (1 et 2 accolés).
Excel saura-t-il trouver le mot "test" dans une partie d'un autre mot.
Exemple G=test et H=àrefaire.
Concaténé, cela donnera testarefaire.
Ma question: il ne faudrait pas un truc du genre *test*?
La réponse est oui, elle était dans la question. Et le test
are are est are faire.
Bonsoir Denis En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel saura-t-il trouver le mot "test" dans une partie d'un autre mot. Exemple G=test et H=àrefaire. Concaténé, cela donnera testarefaire. Ma question: il ne faudrait pas un truc du genre *test*?
La réponse est oui, elle était dans la question. Et le test are are est are faire.
Bonne soirée Jacques.
Vous de même, Florent.
Jacquouille
Je me réponds: NON, pas besoin de ** La formule fonctionne, mais je ne comprends pas. Je croyais que "Cherche" cherchait une chaîne de caractères bien précise..... Si tu as une minute pour expliquer, svp ? merci et bonne fin de soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Jacquouille" a écrit dans le message de groupe de discussion : mfh9ua$8h0$
Bonsoir Denis En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel saura-t-il trouver le mot "test" dans une partie d'un autre mot. Exemple G=test et H=àrefaire. Concaténé, cela donnera testarefaire. Ma question: il ne faudrait pas un truc du genre *test*? Bonne soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : mfh738$pk$
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données débutent en colonne A. La ligne 2 est le numéro de la ligne qui représente la première ligne de données immédiatement sous la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de cellules est à adapter selon ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou l'autre des colonnes ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule "=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une fois.
Voilà!
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
Je me réponds: NON, pas besoin de **
La formule fonctionne, mais je ne comprends pas.
Je croyais que "Cherche" cherchait une chaîne de caractères bien
précise.....
Si tu as une minute pour expliquer, svp ?
merci et bonne fin de soirée
Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Jacquouille" a écrit dans le message de groupe de discussion :
mfh9ua$8h0$1@speranza.aioe.org...
Bonsoir Denis
En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel
saura-t-il trouver le mot "test" dans une partie d'un autre mot.
Exemple G=test et H=àrefaire.
Concaténé, cela donnera testarefaire.
Ma question: il ne faudrait pas un truc du genre *test*?
Bonne soirée
Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
mfh738$pk$1@speranza.aioe.org...
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données
débutent en colonne A.
La ligne 2 est le numéro de la ligne qui représente la première ligne de
données immédiatement sous
la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de
cellules est à adapter selon
ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou
l'autre des colonnes
ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule
"=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une
fois.
Voilà!
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Je me réponds: NON, pas besoin de ** La formule fonctionne, mais je ne comprends pas. Je croyais que "Cherche" cherchait une chaîne de caractères bien précise..... Si tu as une minute pour expliquer, svp ? merci et bonne fin de soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Jacquouille" a écrit dans le message de groupe de discussion : mfh9ua$8h0$
Bonsoir Denis En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel saura-t-il trouver le mot "test" dans une partie d'un autre mot. Exemple G=test et H=àrefaire. Concaténé, cela donnera testarefaire. Ma question: il ne faudrait pas un truc du genre *test*? Bonne soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : mfh738$pk$
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données débutent en colonne A. La ligne 2 est le numéro de la ligne qui représente la première ligne de données immédiatement sous la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de cellules est à adapter selon ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou l'autre des colonnes ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule "=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une fois.
Voilà!
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
Jacquouille
Tout comptes faits, CHERCHE cherche bien une chaîne de caractère dans un texte. Or, la concaténation crée une chaîne de caractères compris comme du texte, donc .... Denis a juste (1x de+) Et moi, je viens de comprendre; -)) Veuillez m'excuser pour cet intempestif dérangement. Bonne soirée à tous.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Jacquouille" a écrit dans le message de groupe de discussion : mfhe6j$jhf$
Je me réponds: NON, pas besoin de ** La formule fonctionne, mais je ne comprends pas. Je croyais que "Cherche" cherchait une chaîne de caractères bien précise..... Si tu as une minute pour expliquer, svp ? merci et bonne fin de soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Jacquouille" a écrit dans le message de groupe de discussion : mfh9ua$8h0$
Bonsoir Denis En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel saura-t-il trouver le mot "test" dans une partie d'un autre mot. Exemple G=test et H=àrefaire. Concaténé, cela donnera testarefaire. Ma question: il ne faudrait pas un truc du genre *test*? Bonne soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : mfh738$pk$
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données débutent en colonne A. La ligne 2 est le numéro de la ligne qui représente la première ligne de données immédiatement sous la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de cellules est à adapter selon ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou l'autre des colonnes ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule "=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une fois.
Voilà!
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
Tout comptes faits, CHERCHE cherche bien une chaîne de caractère dans un
texte. Or, la concaténation crée une chaîne de caractères compris comme du
texte, donc .... Denis a juste (1x de+)
Et moi, je viens de comprendre; -))
Veuillez m'excuser pour cet intempestif dérangement.
Bonne soirée à tous.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Jacquouille" a écrit dans le message de groupe de discussion :
mfhe6j$jhf$1@speranza.aioe.org...
Je me réponds: NON, pas besoin de **
La formule fonctionne, mais je ne comprends pas.
Je croyais que "Cherche" cherchait une chaîne de caractères bien
précise.....
Si tu as une minute pour expliquer, svp ?
merci et bonne fin de soirée
Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Jacquouille" a écrit dans le message de groupe de discussion :
mfh9ua$8h0$1@speranza.aioe.org...
Bonsoir Denis
En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel
saura-t-il trouver le mot "test" dans une partie d'un autre mot.
Exemple G=test et H=àrefaire.
Concaténé, cela donnera testarefaire.
Ma question: il ne faudrait pas un truc du genre *test*?
Bonne soirée
Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
mfh738$pk$1@speranza.aioe.org...
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données
débutent en colonne A.
La ligne 2 est le numéro de la ligne qui représente la première ligne de
données immédiatement sous
la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de
cellules est à adapter selon
ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou
l'autre des colonnes
ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule
"=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une
fois.
Voilà!
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Tout comptes faits, CHERCHE cherche bien une chaîne de caractère dans un texte. Or, la concaténation crée une chaîne de caractères compris comme du texte, donc .... Denis a juste (1x de+) Et moi, je viens de comprendre; -)) Veuillez m'excuser pour cet intempestif dérangement. Bonne soirée à tous.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Jacquouille" a écrit dans le message de groupe de discussion : mfhe6j$jhf$
Je me réponds: NON, pas besoin de ** La formule fonctionne, mais je ne comprends pas. Je croyais que "Cherche" cherchait une chaîne de caractères bien précise..... Si tu as une minute pour expliquer, svp ? merci et bonne fin de soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "Jacquouille" a écrit dans le message de groupe de discussion : mfh9ua$8h0$
Bonsoir Denis En concaténant G et H, on va créer un troisième mot (1 et 2 accolés). Excel saura-t-il trouver le mot "test" dans une partie d'un autre mot. Exemple G=test et H=àrefaire. Concaténé, cela donnera testarefaire. Ma question: il ne faudrait pas un truc du genre *test*? Bonne soirée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : mfh738$pk$
La colonne 7 et 8 d'Excel correspond à la colonne G et H si tes données débutent en colonne A. La ligne 2 est le numéro de la ligne qui représente la première ligne de données immédiatement sous la ligne d'étiquettes de colonne en ligne 1. L'adresse des plages de cellules est à adapter selon ton application.
Concernant la formule, comme tu veux un "OU" visant à déterminer si l'une ou l'autre des colonnes ont l'expression "Test", en concaténant les 2 cellules G et H, cette formule "=CHERCHE("test";G2&H2)>0" retourne "VRAI" si "Test" apparaît au moins une fois.
Voilà!
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
GL
Le 01/04/2015 20:55, Jacquouille a écrit :
Tout comptes faits, CHERCHE cherche bien une chaîne de caractère dans un texte. Or, la concaténation crée une chaîne de caractères compris comme du texte, donc .... Denis a juste (1x de+) Et moi, je viens de comprendre; -)) Veuillez m'excuser pour cet intempestif dérangement. Bonne soirée à tous.
Ca dépend si on cherchait, par extraordinaire, "stare" dans - ou bien "test" - ou bien "arefaire"
on trouverait "stare" dans "testarefaire" mais ni dans "test", ni dans "arefaire".
Donc en toute généralité, chercher dans la chaine concaténée n'est pas chercher dans l'une ou bien dans l'autre.
Espérant ne pas trop faire souffrir vos doux méninges ;-)
Bonne soirée.
Le 01/04/2015 20:55, Jacquouille a écrit :
Tout comptes faits, CHERCHE cherche bien une chaîne de caractère dans un
texte. Or, la concaténation crée une chaîne de caractères compris comme
du texte, donc .... Denis a juste (1x de+)
Et moi, je viens de comprendre; -))
Veuillez m'excuser pour cet intempestif dérangement.
Bonne soirée à tous.
Ca dépend si on cherchait, par extraordinaire, "stare" dans
- ou bien "test"
- ou bien "arefaire"
on trouverait "stare" dans "testarefaire"
mais ni dans "test", ni dans "arefaire".
Donc en toute généralité, chercher dans la chaine concaténée n'est
pas chercher dans l'une ou bien dans l'autre.
Espérant ne pas trop faire souffrir vos doux méninges ;-)
Tout comptes faits, CHERCHE cherche bien une chaîne de caractère dans un texte. Or, la concaténation crée une chaîne de caractères compris comme du texte, donc .... Denis a juste (1x de+) Et moi, je viens de comprendre; -)) Veuillez m'excuser pour cet intempestif dérangement. Bonne soirée à tous.
Ca dépend si on cherchait, par extraordinaire, "stare" dans - ou bien "test" - ou bien "arefaire"
on trouverait "stare" dans "testarefaire" mais ni dans "test", ni dans "arefaire".
Donc en toute généralité, chercher dans la chaine concaténée n'est pas chercher dans l'une ou bien dans l'autre.
Espérant ne pas trop faire souffrir vos doux méninges ;-)
Bonne soirée.
Steph
Merci super, cela fonctionne très bien.
Juste une dernière question, Quelle serait la ligne de commande pour supprimer le filtre ?
Voici le code après adaptation des zones: Dim Expr As String, sh As Worksheet Expr = TextBox1.Value
'Nom de la feuille où sont les données Set sh = Worksheets("Listing")
With sh 'Zone de critère pour le filtre élaboré Z1:Z2 .Range("Z3") = "" 'Tu laisses totalement vide 'Utilise cette formule en Z2 .Range("Z4").Formula = "=Search(""" & Expr & """,G4&H4)>0"
'J'ai supposé que la ligne 1 était la ligne de titre 'à toi d'adapter l'adresse de la plage With .Range("A3:P" & .Range("B65536").End(xlUp).Row) .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=sh.Rang e("Z3:Z4") End With .Range("z3:Z4").Clear 'effacer la plage de critère End With
Merci super, cela fonctionne très bien.
Juste une dernière question,
Quelle serait la ligne de commande pour supprimer le filtre ?
Voici le code après adaptation des zones:
Dim Expr As String, sh As Worksheet
Expr = TextBox1.Value
'Nom de la feuille où sont les données
Set sh = Worksheets("Listing")
With sh
'Zone de critère pour le filtre élaboré Z1:Z2
.Range("Z3") = "" 'Tu laisses totalement vide
'Utilise cette formule en Z2
.Range("Z4").Formula = "=Search(""" & Expr & """,G4&H4)>0"
'J'ai supposé que la ligne 1 était la ligne de titre
'à toi d'adapter l'adresse de la plage
With .Range("A3:P" & .Range("B65536").End(xlUp).Row)
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=sh.Rang e("Z3:Z4")
End With
.Range("z3:Z4").Clear 'effacer la plage de critère
End With
Voici le code après adaptation des zones: Dim Expr As String, sh As Worksheet Expr = TextBox1.Value
'Nom de la feuille où sont les données Set sh = Worksheets("Listing")
With sh 'Zone de critère pour le filtre élaboré Z1:Z2 .Range("Z3") = "" 'Tu laisses totalement vide 'Utilise cette formule en Z2 .Range("Z4").Formula = "=Search(""" & Expr & """,G4&H4)>0"
'J'ai supposé que la ligne 1 était la ligne de titre 'à toi d'adapter l'adresse de la plage With .Range("A3:P" & .Range("B65536").End(xlUp).Row) .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=sh.Rang e("Z3:Z4") End With .Range("z3:Z4").Clear 'effacer la plage de critère End With
Steph
J'ai fais ceci pour supprimer le filtre, merci
If Expr = "" Then 'Si rien dans la zone recherche alors replacer les filtres de base Range("A3:M3").Select Selection.AutoFilter Range("A4").Select GoTo Fin End If
J'ai fais ceci pour supprimer le filtre, merci
If Expr = "" Then 'Si rien dans la zone recherche alors replacer les filtres de base
Range("A3:M3").Select
Selection.AutoFilter
Range("A4").Select
GoTo Fin
End If
If Expr = "" Then 'Si rien dans la zone recherche alors replacer les filtres de base Range("A3:M3").Select Selection.AutoFilter Range("A4").Select GoTo Fin End If