OVH Cloud OVH Cloud

Filtre automatique

6 réponses
Avatar
Thierry
Bonjours à tous

J'ai fais une petite macro pour filtrer une liste à partir d'une critere que
je donne par boite de dialogue

Sub Recherche_article()

quoi = "*" & InputBox("tapez la chaîne de caractères recherchée",
"Fonction de recherche", "*") & "*"
If quoi = "**" Then GoTo fini
Range("z6:z10000").Select
Selection.AutoFilter Field:=1, Criteria1:=quoi, Operator:=xlAnd
fini:
Range("l6").Select
End Sub

Ca marche parfaitement lorsque je recherche un mot, mais lorsque je
recherche un nombre par exemple 61021 la macro ne me detecte aucun
enregistrement trouvé.
Je suppose que c'est un probleme de format de ma colonne Z, mais ayant
changé le format de la colonne il n'y eu aucun changement...

Merci d'avance pour les réponses

Thierry

6 réponses

Avatar
Nicolas B.
Salut,

Tu peux essayer en convertissant toutes tes valeurs numériques en texte :

Sub ConvertirTexte()
For Each cel In ActiveSheet.UsedRange
If IsNumeric(cel) Then cel.Value = "'" & cel
Next
End Sub

Tu n'as alors pas besoin de modifier ta macro.


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Bonjours à tous

J'ai fais une petite macro pour filtrer une liste à partir d'une
critere que je donne par boite de dialogue

Sub Recherche_article()

quoi = "*" & InputBox("tapez la chaîne de caractères recherchée",
"Fonction de recherche", "*") & "*"
If quoi = "**" Then GoTo fini
Range("z6:z10000").Select
Selection.AutoFilter Field:=1, Criteria1:=quoi, Operator:=xlAnd
fini:
Range("l6").Select
End Sub

Ca marche parfaitement lorsque je recherche un mot, mais lorsque je
recherche un nombre par exemple 61021 la macro ne me detecte aucun
enregistrement trouvé.
Je suppose que c'est un probleme de format de ma colonne Z, mais ayant
changé le format de la colonne il n'y eu aucun changement...

Merci d'avance pour les réponses

Thierry


Avatar
Thierry
J'ai essayé en mettant toute ma colonne Z au format texte, et cela ne marche
toujours pas.

Dans ma colonne j'ai des valeurs du genre "titre 1" - "titre 2" - "61021" -
"63026" etc..
si je demande une filtrage d'une chaine de caractere composé de lettre ça
marche parfaitement, mais si je cherche une chaine de caractere composé
uniquement de chiffre, il ne trouve aucun enregistrement...

Je plane...
Si quelqu'un a une petite idée, merci d'avance

Thierry

"Nicolas B." a écrit dans le message de
news: OhhN#
Salut,

Tu peux essayer en convertissant toutes tes valeurs numériques en texte :

Sub ConvertirTexte()
For Each cel In ActiveSheet.UsedRange
If IsNumeric(cel) Then cel.Value = "'" & cel
Next
End Sub

Tu n'as alors pas besoin de modifier ta macro.


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Bonjours à tous

J'ai fais une petite macro pour filtrer une liste à partir d'une
critere que je donne par boite de dialogue

Sub Recherche_article()

quoi = "*" & InputBox("tapez la chaîne de caractères recherchée",
"Fonction de recherche", "*") & "*"
If quoi = "**" Then GoTo fini
Range("z6:z10000").Select
Selection.AutoFilter Field:=1, Criteria1:=quoi, Operator:=xlAnd
fini:
Range("l6").Select
End Sub

Ca marche parfaitement lorsque je recherche un mot, mais lorsque je
recherche un nombre par exemple 61021 la macro ne me detecte aucun
enregistrement trouvé.
Je suppose que c'est un probleme de format de ma colonne Z, mais ayant
changé le format de la colonne il n'y eu aucun changement...

Merci d'avance pour les réponses

Thierry






Avatar
Jean-François Aubert
Salut Thierry,

Un peu longuet comme traitement (4 sec sur ma bécane), mais à défaut d'autre chose....

'**************************************************
Sub Recherche_article()
calc = Application.Calculation
Application.Calculation = xlCalculationManual
quoi = "*" & InputBox("tapez la chaîne de caractères recherchée", "Fonction de recherche", "*")
& "*"
If quoi = "**" Then GoTo fini
Application.ScreenUpdating = False
For i = 7 To 10000
Range("z" & i) = "zaza" & Range("z" & i)
Next
Range("z6:z10000").Select
Selection.AutoFilter Field:=1, Criteria1:=quoi, Operator:=xlAnd
For i = 7 To 10000
Cells(i, "z") = Right(Cells(i, "z"), Len(Cells(i, "z")) - 4)
Next
fini:
Range("l6").Select
Application.Calculation = calc
Application.ScreenUpdating = True
End Sub
'**************************************************

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Thierry" a écrit dans le message de
news:4008fa9d$0$237$
Bonjours à tous

J'ai fais une petite macro pour filtrer une liste à partir d'une critere que
je donne par boite de dialogue

Sub Recherche_article()

quoi = "*" & InputBox("tapez la chaîne de caractères recherchée",
"Fonction de recherche", "*") & "*"
If quoi = "**" Then GoTo fini
Range("z6:z10000").Select
Selection.AutoFilter Field:=1, Criteria1:=quoi, Operator:=xlAnd
fini:
Range("l6").Select
End Sub

Ca marche parfaitement lorsque je recherche un mot, mais lorsque je
recherche un nombre par exemple 61021 la macro ne me detecte aucun
enregistrement trouvé.
Je suppose que c'est un probleme de format de ma colonne Z, mais ayant
changé le format de la colonne il n'y eu aucun changement...

Merci d'avance pour les réponses

Thierry




Avatar
ChrisV
Bonjour Thierry,

Un peu différent de la procédure proposée par Nicolas...
Avec la plage Z6:Z10000 nommée ici Zn

Sub Recherche_article()
Dim c As Range
Range("Zn").TextToColumns Destination:=Range("Z6"), _
DataType:=xlDelimited, FieldInfo:=Array(1, 2)
quoi = InputBox("Saisissez la chaîne de caractères recherchée", _
"Fonction de recherche")
If quoi <> "" Then _
Range("Zn").AutoFilter Field:=1, Criteria1:="*" & quoi & "*"
End Sub


ChrisV


"Thierry" a écrit dans le message de news:
400955e5$0$235$
J'ai essayé en mettant toute ma colonne Z au format texte, et cela ne
marche

toujours pas.

Dans ma colonne j'ai des valeurs du genre "titre 1" - "titre 2" -
"61021" -

"63026" etc..
si je demande une filtrage d'une chaine de caractere composé de lettre ça
marche parfaitement, mais si je cherche une chaine de caractere composé
uniquement de chiffre, il ne trouve aucun enregistrement...

Je plane...
Si quelqu'un a une petite idée, merci d'avance

Thierry

"Nicolas B." a écrit dans le message de
news: OhhN#
Salut,

Tu peux essayer en convertissant toutes tes valeurs numériques en texte
:



Sub ConvertirTexte()
For Each cel In ActiveSheet.UsedRange
If IsNumeric(cel) Then cel.Value = "'" & cel
Next
End Sub

Tu n'as alors pas besoin de modifier ta macro.


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Bonjours à tous

J'ai fais une petite macro pour filtrer une liste à partir d'une
critere que je donne par boite de dialogue

Sub Recherche_article()

quoi = "*" & InputBox("tapez la chaîne de caractères recherchée",
"Fonction de recherche", "*") & "*"
If quoi = "**" Then GoTo fini
Range("z6:z10000").Select
Selection.AutoFilter Field:=1, Criteria1:=quoi, Operator:=xlAnd
fini:
Range("l6").Select
End Sub

Ca marche parfaitement lorsque je recherche un mot, mais lorsque je
recherche un nombre par exemple 61021 la macro ne me detecte aucun
enregistrement trouvé.
Je suppose que c'est un probleme de format de ma colonne Z, mais ayant
changé le format de la colonne il n'y eu aucun changement...

Merci d'avance pour les réponses

Thierry










Avatar
michdenis
Bonjour Thierry,

Un truc à partir de ta procédure : ça devrait marcher !

Si ton inputbox est de type numérique:
Tu obtiendras la liste des données répondant à ton critère

Si ton inputbox est du type alphanumérique:
Tu obtiendras toutes les cellules dont le contenu répond au moins au critère de la chaîne de l'inputbox.


'--------------------------------
Sub Recherche_article()
Dim Quoi As Variant

Quoi = InputBox("tapez la chaîne de caractères recherchée", _
"Fonction de recherche", "*")

If IsNumeric(Quoi) Then
Quoi = CDbl(Quoi)
Else
Quoi = "*" & Quoi & "*"
End If

If Quoi <> "***" Then
With Range("D1:d10000")
.AutoFilter Field:=1, Criteria1:=Quoi
End With
End If

End Sub
'--------------------------------


Salutations!


"Thierry" a écrit dans le message de news:4008fa9d$0$237$
Bonjours à tous

J'ai fais une petite macro pour filtrer une liste à partir d'une critere que
je donne par boite de dialogue

Sub Recherche_article()

quoi = "*" & InputBox("tapez la chaîne de caractères recherchée",
"Fonction de recherche", "*") & "*"
If quoi = "**" Then GoTo fini
Range("z6:z10000").Select
Selection.AutoFilter Field:=1, Criteria1:=quoi, Operator:=xlAnd
fini:
Range("l6").Select
End Sub

Ca marche parfaitement lorsque je recherche un mot, mais lorsque je
recherche un nombre par exemple 61021 la macro ne me detecte aucun
enregistrement trouvé.
Je suppose que c'est un probleme de format de ma colonne Z, mais ayant
changé le format de la colonne il n'y eu aucun changement...

Merci d'avance pour les réponses

Thierry
Avatar
michdenis
N'oublie pas de substituer la plage de cellules pour la tienne dans la procédure ! ça ira mieux ...


Salutations!




"michdenis" a écrit dans le message de news:%
Bonjour Thierry,

Un truc à partir de ta procédure : ça devrait marcher !

Si ton inputbox est de type numérique:
Tu obtiendras la liste des données répondant à ton critère

Si ton inputbox est du type alphanumérique:
Tu obtiendras toutes les cellules dont le contenu répond au moins au critère de la chaîne de l'inputbox.


'--------------------------------
Sub Recherche_article()
Dim Quoi As Variant

Quoi = InputBox("tapez la chaîne de caractères recherchée", _
"Fonction de recherche", "*")

If IsNumeric(Quoi) Then
Quoi = CDbl(Quoi)
Else
Quoi = "*" & Quoi & "*"
End If

If Quoi <> "***" Then
With Range("D1:d10000")
.AutoFilter Field:=1, Criteria1:=Quoi
End With
End If

End Sub
'--------------------------------


Salutations!


"Thierry" a écrit dans le message de news:4008fa9d$0$237$
Bonjours à tous

J'ai fais une petite macro pour filtrer une liste à partir d'une critere que
je donne par boite de dialogue

Sub Recherche_article()

quoi = "*" & InputBox("tapez la chaîne de caractères recherchée",
"Fonction de recherche", "*") & "*"
If quoi = "**" Then GoTo fini
Range("z6:z10000").Select
Selection.AutoFilter Field:=1, Criteria1:=quoi, Operator:=xlAnd
fini:
Range("l6").Select
End Sub

Ca marche parfaitement lorsque je recherche un mot, mais lorsque je
recherche un nombre par exemple 61021 la macro ne me detecte aucun
enregistrement trouvé.
Je suppose que c'est un probleme de format de ma colonne Z, mais ayant
changé le format de la colonne il n'y eu aucun changement...

Merci d'avance pour les réponses

Thierry