Peut-on réaliser cela Lors de la saisie dans la cellule A2, un filtre automatique est appliquer sur la colonne A selon ce qui est écrit en A2. La même opération sera exécutée sur les colonnes B, C et D selon la saisie en B2, C2 et D2.
on peut : mettre ce type de code dans la feuille de calcul concernée ---------------------- Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Range("$a$4:$d$50").AutoFilter Field:=1, Criteria1:="=" & Range("a2").Value & "*", _ Operator:=xlAnd ActiveSheet.Range("$a$4:$c$50").AutoFilter Field:=2, Criteria1:="=" & Range("b2").Value & "*", _ Operator:=xlAnd ActiveSheet.Range("$a$4:$c$50").AutoFilter Field:=3, Criteria1:=">" & Range("c2").Value, _ Operator:=xlAnd End Sub -------------------------- les deux premiers utilisent "commence par" et le 3ème "plus grand que" flemme de mettre le quatrième ;-) en a4:d4 on a les en têtes de colonne attention laisse a3:d3 vide sinon le filtre a tendance à s'emmêler un peu et si tu n'arrives pas à trouver la syntaxe de ton filtre, tu le crées en enregistrement de macro et tu adaptes ;-) cdlt -- -
Hello
D'après Apitos
Peut-on réaliser cela
Lors de la saisie dans la cellule A2, un filtre automatique est appliquer sur
la colonne A selon ce qui est écrit en A2.
La même opération sera exécutée sur les colonnes B, C et D selon la saisie en
B2, C2 et D2.
on peut :
mettre ce type de code dans la feuille de calcul concernée
----------------------
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Range("$a$4:$d$50").AutoFilter Field:=1, Criteria1:="="
& Range("a2").Value & "*", _
Operator:=xlAnd
ActiveSheet.Range("$a$4:$c$50").AutoFilter Field:=2, Criteria1:="=" &
Range("b2").Value & "*", _
Operator:=xlAnd
ActiveSheet.Range("$a$4:$c$50").AutoFilter Field:=3, Criteria1:=">" &
Range("c2").Value, _
Operator:=xlAnd
End Sub
--------------------------
les deux premiers utilisent "commence par" et le 3ème "plus grand que"
flemme de mettre le quatrième ;-)
en a4:d4 on a les en têtes de colonne
attention laisse a3:d3 vide sinon le filtre a tendance à s'emmêler un
peu
et si tu n'arrives pas à trouver la syntaxe de ton filtre, tu le crées
en enregistrement de macro et tu adaptes ;-)
cdlt
Peut-on réaliser cela Lors de la saisie dans la cellule A2, un filtre automatique est appliquer sur la colonne A selon ce qui est écrit en A2. La même opération sera exécutée sur les colonnes B, C et D selon la saisie en B2, C2 et D2.
on peut : mettre ce type de code dans la feuille de calcul concernée ---------------------- Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Range("$a$4:$d$50").AutoFilter Field:=1, Criteria1:="=" & Range("a2").Value & "*", _ Operator:=xlAnd ActiveSheet.Range("$a$4:$c$50").AutoFilter Field:=2, Criteria1:="=" & Range("b2").Value & "*", _ Operator:=xlAnd ActiveSheet.Range("$a$4:$c$50").AutoFilter Field:=3, Criteria1:=">" & Range("c2").Value, _ Operator:=xlAnd End Sub -------------------------- les deux premiers utilisent "commence par" et le 3ème "plus grand que" flemme de mettre le quatrième ;-) en a4:d4 on a les en têtes de colonne attention laisse a3:d3 vide sinon le filtre a tendance à s'emmêler un peu et si tu n'arrives pas à trouver la syntaxe de ton filtre, tu le crées en enregistrement de macro et tu adaptes ;-) cdlt -- -
?K?
D'après ?K?
Hello D'après Apitos
Peut-on réaliser cela Lors de la saisie dans la cellule A2, un filtre automatique est appliquer sur la colonne A selon ce qui est écrit en A2. La même opération sera exécutée sur les colonnes B, C et D selon la saisie en B2, C2 et D2.
on peut :
ceoendant les filtres cachent des lignes entières donc les filtres des 4 colonnes se surajoutent ce n'est pas indépendant cdlt -- -
D'après ?K?
Hello
D'après Apitos
Peut-on réaliser cela Lors de la saisie dans la cellule A2, un filtre
automatique est appliquer sur la colonne A selon ce qui est écrit en A2.
La même opération sera exécutée sur les colonnes B, C et D selon la saisie
en B2, C2 et D2.
on peut :
ceoendant les filtres cachent des lignes entières donc les filtres des
4 colonnes se surajoutent ce n'est pas indépendant
cdlt
Peut-on réaliser cela Lors de la saisie dans la cellule A2, un filtre automatique est appliquer sur la colonne A selon ce qui est écrit en A2. La même opération sera exécutée sur les colonnes B, C et D selon la saisie en B2, C2 et D2.
on peut :
ceoendant les filtres cachent des lignes entières donc les filtres des 4 colonnes se surajoutent ce n'est pas indépendant cdlt -- -
Bonjour ?K?, Le filtre n'est pas appliqué en même temps de la saisie des caractères en A2. Je crois qu'il n'y a pas d’événement Onchage des cellules ?
il est appliqué dès qu'on a validé la saisie en a2 (ce n'est pas du javascript) cdlt -- -
?K?
Bonjour D'après Apitos
Bonjour ?K?, Le filtre n'est pas appliqué en même temps de la saisie des caractères en A2. Je crois qu'il n'y a pas d’événement Onchage des cellules ?
en fait créer une zone de texte de formulaire (textbox) en haut de chaque colonne fera ce que tu souhaites tu mets la propriété linkedcell à a2 pour textbox1 etc. comme ça tu peux récupérer les valeurs sans changer le reste de ta feuille avec ce genre de code (dans la feuille) je suppose que tes en-têtes de colonne sont en a3:d3 ----------------- Private Sub TextBox1_Change() ActiveSheet.Range("$a$3:$d$100").AutoFilter Field:=1, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub Private Sub TextBox1_Change() ActiveSheet.Range("$b$3:$d$100").AutoFilter Field:=2, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub etc. --------------------------------- ci-dessus les filtres de colonnes se rajoutent si tu mets aussi -------------------- Private Sub TextBox1_LostFocus() Range("a3:d3").AutoFilter End Sub Private Sub TextBox2_LostFocus() Range("D6:G6").AutoFilter End Sub ----------------- quand tu changes de colonne le filtre se réinitialise donc ça filtre successivementcolonne par colonne à toi de voir cdlt -- -
Bonjour
D'après Apitos
Bonjour ?K?,
Le filtre n'est pas appliqué en même temps de la saisie des caractères en A2.
Je crois qu'il n'y a pas d’événement Onchage des cellules ?
en fait créer une zone de texte de formulaire (textbox) en haut de
chaque colonne fera ce que tu souhaites
tu mets la propriété linkedcell à a2 pour textbox1 etc. comme ça tu
peux récupérer les valeurs sans changer le reste de ta feuille
avec ce genre de code (dans la feuille)
je suppose que tes en-têtes de colonne sont en a3:d3
-----------------
Private Sub TextBox1_Change()
ActiveSheet.Range("$a$3:$d$100").AutoFilter Field:=1, Criteria1:="=" &
TextBox1.Value & "*", _
Operator:=xlAnd
End Sub
Private Sub TextBox1_Change()
ActiveSheet.Range("$b$3:$d$100").AutoFilter Field:=2, Criteria1:="=" &
TextBox1.Value & "*", _
Operator:=xlAnd
End Sub
etc.
---------------------------------
ci-dessus les filtres de colonnes se rajoutent
si tu mets aussi
--------------------
Private Sub TextBox1_LostFocus()
Range("a3:d3").AutoFilter
End Sub
Private Sub TextBox2_LostFocus()
Range("D6:G6").AutoFilter
End Sub
-----------------
quand tu changes de colonne le filtre se réinitialise donc ça filtre
successivementcolonne par colonne
Bonjour ?K?, Le filtre n'est pas appliqué en même temps de la saisie des caractères en A2. Je crois qu'il n'y a pas d’événement Onchage des cellules ?
en fait créer une zone de texte de formulaire (textbox) en haut de chaque colonne fera ce que tu souhaites tu mets la propriété linkedcell à a2 pour textbox1 etc. comme ça tu peux récupérer les valeurs sans changer le reste de ta feuille avec ce genre de code (dans la feuille) je suppose que tes en-têtes de colonne sont en a3:d3 ----------------- Private Sub TextBox1_Change() ActiveSheet.Range("$a$3:$d$100").AutoFilter Field:=1, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub Private Sub TextBox1_Change() ActiveSheet.Range("$b$3:$d$100").AutoFilter Field:=2, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub etc. --------------------------------- ci-dessus les filtres de colonnes se rajoutent si tu mets aussi -------------------- Private Sub TextBox1_LostFocus() Range("a3:d3").AutoFilter End Sub Private Sub TextBox2_LostFocus() Range("D6:G6").AutoFilter End Sub ----------------- quand tu changes de colonne le filtre se réinitialise donc ça filtre successivementcolonne par colonne à toi de voir cdlt -- -
Bonjour ?K?, Le filtre n'est pas appliqué en même temps de la saisie des caractères en A2. Je crois qu'il n'y a pas d’événement Onchage des cellules ?
en fait créer une zone de texte de formulaire (textbox) en haut de chaque colonne fera ce que tu souhaites tu mets la propriété linkedcell à a2 pour textbox1 etc. comme ça tu peux récupérer les valeurs sans changer le reste de ta feuille, tu peux mettre ta zone de texte au dessus de la cellule avec ce genre de code (dans la feuille) je suppose que tes en-têtes de colonne sont en a3:d3 (tu peux masquer la ligne ça ne change rien) par défaut les filtres de colonnes se rajoutent ----------------- Private Sub TextBox1_Change() ActiveSheet.Range("$a$3:$d$100").AutoFilter Field:=1, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub Private Sub TextBox2_Change() ActiveSheet.Range("$b$3:$d$100").AutoFilter Field:=2, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub etc. --------------------------------- si tu mets aussi -------------------- Private Sub TextBox1_LostFocus() Range("a3:d3").AutoFilter End Sub Private Sub TextBox2_LostFocus() Range("D6:G6").AutoFilter End Sub ----------------- quand tu changes de colonne le filtre se réinitialise donc ça filtre successivement colonne par colonne à toi de voir cdlt -- -
Le filtre n'est pas appliqué en même temps de la saisie des caractères en
A2.
Je crois qu'il n'y a pas d’événement Onchage des cellules ?
en fait créer une zone de texte de formulaire (textbox) en haut de
chaque colonne fera ce que tu souhaites
tu mets la propriété linkedcell à a2 pour textbox1 etc. comme ça tu
peux récupérer les valeurs sans changer le reste de ta feuille, tu peux
mettre ta zone de texte au dessus de la cellule
avec ce genre de code (dans la feuille)
je suppose que tes en-têtes de colonne sont en a3:d3 (tu peux masquer
la ligne ça ne change rien)
par défaut les filtres de colonnes se rajoutent
-----------------
Private Sub TextBox1_Change()
ActiveSheet.Range("$a$3:$d$100").AutoFilter Field:=1, Criteria1:="=" &
TextBox1.Value & "*", _
Operator:=xlAnd
End Sub
Private Sub TextBox2_Change()
ActiveSheet.Range("$b$3:$d$100").AutoFilter Field:=2, Criteria1:="=" &
TextBox1.Value & "*", _
Operator:=xlAnd
End Sub
etc.
---------------------------------
si tu mets aussi
--------------------
Private Sub TextBox1_LostFocus()
Range("a3:d3").AutoFilter
End Sub
Private Sub TextBox2_LostFocus()
Range("D6:G6").AutoFilter
End Sub
-----------------
quand tu changes de colonne le filtre se réinitialise donc ça filtre
successivement colonne par colonne
Bonjour ?K?, Le filtre n'est pas appliqué en même temps de la saisie des caractères en A2. Je crois qu'il n'y a pas d’événement Onchage des cellules ?
en fait créer une zone de texte de formulaire (textbox) en haut de chaque colonne fera ce que tu souhaites tu mets la propriété linkedcell à a2 pour textbox1 etc. comme ça tu peux récupérer les valeurs sans changer le reste de ta feuille, tu peux mettre ta zone de texte au dessus de la cellule avec ce genre de code (dans la feuille) je suppose que tes en-têtes de colonne sont en a3:d3 (tu peux masquer la ligne ça ne change rien) par défaut les filtres de colonnes se rajoutent ----------------- Private Sub TextBox1_Change() ActiveSheet.Range("$a$3:$d$100").AutoFilter Field:=1, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub Private Sub TextBox2_Change() ActiveSheet.Range("$b$3:$d$100").AutoFilter Field:=2, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub etc. --------------------------------- si tu mets aussi -------------------- Private Sub TextBox1_LostFocus() Range("a3:d3").AutoFilter End Sub Private Sub TextBox2_LostFocus() Range("D6:G6").AutoFilter End Sub ----------------- quand tu changes de colonne le filtre se réinitialise donc ça filtre successivement colonne par colonne à toi de voir cdlt -- -
Bonjour ?K?, Le filtre n'est pas appliqué en même temps de la saisie des caractères en A2. Je crois qu'il n'y a pas d’événement Onchage des cellules ?
en fait créer une zone de texte de formulaire (textbox) en haut de chaque colonne fera ce que tu souhaites tu mets la propriété linkedcell à a2 pour textbox1 etc. comme ça tu peux récupérer les valeurs sans changer le reste de ta feuille, tu peux mettre ta zone de texte au dessus de la cellule avec ce genre de code (dans la feuille) je suppose que tes en-têtes de colonne sont en a3:d3 (tu peux masquer la ligne ça ne change rien) par défaut les filtres de colonnes se rajoutent ----------------- Private Sub TextBox1_Change() ActiveSheet.Range("$a$3:$d$100").AutoFilter Field:=1, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub Private Sub TextBox2_Change() ActiveSheet.Range("$b$3:$d$100").AutoFilter Field:=2, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub etc. --------------------------------- si tu mets aussi -------------------- Private Sub TextBox1_LostFocus() Range("a3:d3").AutoFilter End Sub Private Sub TextBox2_LostFocus() Range("a3:d3").AutoFilter End Sub ----------------- quand tu changes de colonne le filtre se réinitialise donc ça filtre successivement colonne par colonne à toi de voir cdlt -- -
Le filtre n'est pas appliqué en même temps de la saisie des caractères en
A2.
Je crois qu'il n'y a pas d’événement Onchage des cellules ?
en fait créer une zone de texte de formulaire (textbox) en haut de
chaque colonne fera ce que tu souhaites
tu mets la propriété linkedcell à a2 pour textbox1 etc. comme ça tu
peux récupérer les valeurs sans changer le reste de ta feuille, tu peux
mettre ta zone de texte au dessus de la cellule
avec ce genre de code (dans la feuille)
je suppose que tes en-têtes de colonne sont en a3:d3 (tu peux masquer
la ligne ça ne change rien)
par défaut les filtres de colonnes se rajoutent
-----------------
Private Sub TextBox1_Change()
ActiveSheet.Range("$a$3:$d$100").AutoFilter Field:=1, Criteria1:="=" &
TextBox1.Value & "*", _
Operator:=xlAnd
End Sub
Private Sub TextBox2_Change()
ActiveSheet.Range("$b$3:$d$100").AutoFilter Field:=2, Criteria1:="=" &
TextBox1.Value & "*", _
Operator:=xlAnd
End Sub
etc.
---------------------------------
si tu mets aussi
--------------------
Private Sub TextBox1_LostFocus()
Range("a3:d3").AutoFilter
End Sub
Private Sub TextBox2_LostFocus()
Range("a3:d3").AutoFilter
End Sub
-----------------
quand tu changes de colonne le filtre se réinitialise donc ça filtre
successivement colonne par colonne
Bonjour ?K?, Le filtre n'est pas appliqué en même temps de la saisie des caractères en A2. Je crois qu'il n'y a pas d’événement Onchage des cellules ?
en fait créer une zone de texte de formulaire (textbox) en haut de chaque colonne fera ce que tu souhaites tu mets la propriété linkedcell à a2 pour textbox1 etc. comme ça tu peux récupérer les valeurs sans changer le reste de ta feuille, tu peux mettre ta zone de texte au dessus de la cellule avec ce genre de code (dans la feuille) je suppose que tes en-têtes de colonne sont en a3:d3 (tu peux masquer la ligne ça ne change rien) par défaut les filtres de colonnes se rajoutent ----------------- Private Sub TextBox1_Change() ActiveSheet.Range("$a$3:$d$100").AutoFilter Field:=1, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub Private Sub TextBox2_Change() ActiveSheet.Range("$b$3:$d$100").AutoFilter Field:=2, Criteria1:="=" & TextBox1.Value & "*", _ Operator:=xlAnd End Sub etc. --------------------------------- si tu mets aussi -------------------- Private Sub TextBox1_LostFocus() Range("a3:d3").AutoFilter End Sub Private Sub TextBox2_LostFocus() Range("a3:d3").AutoFilter End Sub ----------------- quand tu changes de colonne le filtre se réinitialise donc ça filtre successivement colonne par colonne à toi de voir cdlt -- -
J'ai essayé avec cet exemple : http://www.cjoint.com/c/FLmqtkqKdKM Mais quand je mets un "2" dans la première TextBox, je n’obtiens aucun résultat (visible au mois) et quand j'efface ce "2" le filtre reste toujours figé ...?
d'une part si on veut que ça fonctionne avec * il faut mettre les cellules de la colonne A en mode texte sinon on ne peut utiliser que > < ou = (nombres !) ensuite trop de copier-coller lol Private Sub TextBox1_Change() ActiveSheet.Range("$A$4:$G$4").AutoFilter Field:=1, Criteria1:="=" & TextBox1.Value & "*" End Sub le premier ça va Private Sub TextBox2_Change() ActiveSheet.Range("$A$4:$G$4").AutoFilter Field:=2, Criteria1:="=" & TextBox2.Value & "*", Operator:=xlAnd End Sub mais pour le deuxième et les suivants il faut changer àchaque fois le champ Field:=2 ET le nom de la zone de texte TextBox2.Value tel quel tous les filtres vont s'ajouetr si tu veux qu'ils soient indépendants ajouter des Private Sub TextBox1_LostFocus() Range("a4:g4").AutoFilter End Sub Private Sub TextBox2_LostFocus() Range("a4:g4").AutoFilter End Sub cdlt -- -
Bonjour
D'après Apitos
J'ai essayé avec cet exemple :
http://www.cjoint.com/c/FLmqtkqKdKM
Mais quand je mets un "2" dans la première TextBox, je n’obtiens aucun
résultat (visible au mois) et quand j'efface ce "2" le filtre reste toujours
figé ...?
d'une part si on veut que ça fonctionne avec * il faut mettre les
cellules de la colonne A en mode texte
sinon on ne peut utiliser que > < ou = (nombres !)
ensuite trop de copier-coller lol
Private Sub TextBox1_Change()
ActiveSheet.Range("$A$4:$G$4").AutoFilter Field:=1, Criteria1:="=" &
TextBox1.Value & "*"
End Sub
le premier ça va
Private Sub TextBox2_Change()
ActiveSheet.Range("$A$4:$G$4").AutoFilter Field:=2, Criteria1:="=" &
TextBox2.Value & "*", Operator:=xlAnd
End Sub
mais pour le deuxième et les suivants il faut changer àchaque fois le
champ
Field:=2
ET le nom de la zone de texte
TextBox2.Value
tel quel tous les filtres vont s'ajouetr
si tu veux qu'ils soient indépendants ajouter des
Private Sub TextBox1_LostFocus()
Range("a4:g4").AutoFilter
End Sub
Private Sub TextBox2_LostFocus()
Range("a4:g4").AutoFilter
End Sub
J'ai essayé avec cet exemple : http://www.cjoint.com/c/FLmqtkqKdKM Mais quand je mets un "2" dans la première TextBox, je n’obtiens aucun résultat (visible au mois) et quand j'efface ce "2" le filtre reste toujours figé ...?
d'une part si on veut que ça fonctionne avec * il faut mettre les cellules de la colonne A en mode texte sinon on ne peut utiliser que > < ou = (nombres !) ensuite trop de copier-coller lol Private Sub TextBox1_Change() ActiveSheet.Range("$A$4:$G$4").AutoFilter Field:=1, Criteria1:="=" & TextBox1.Value & "*" End Sub le premier ça va Private Sub TextBox2_Change() ActiveSheet.Range("$A$4:$G$4").AutoFilter Field:=2, Criteria1:="=" & TextBox2.Value & "*", Operator:=xlAnd End Sub mais pour le deuxième et les suivants il faut changer àchaque fois le champ Field:=2 ET le nom de la zone de texte TextBox2.Value tel quel tous les filtres vont s'ajouetr si tu veux qu'ils soient indépendants ajouter des Private Sub TextBox1_LostFocus() Range("a4:g4").AutoFilter End Sub Private Sub TextBox2_LostFocus() Range("a4:g4").AutoFilter End Sub cdlt -- -