filtrage et nombre décimaux (Résolu)

Philippe63000

XLDnaute Junior
Bonjour,

Je cherche à appliquer un filtre à une base de données qui se trouve en colonnes A et B. J'applique le filtre sur la colonne B (un filtre numérique de type >=).
Je désirerais faire entrer la valeur du seuil du filtre par l'opérateur.

Lorsque le seuil est fixe je ne rencontre aucun pb.
Code:
Sub Macro4()
    Range("A6:B4023").Select
    Selection.AutoFilter
    ActiveWindow.SmallScroll Down:=-9
    ActiveSheet.Range("$A$6:$B$4023").AutoFilter Field:=2, Criteria1:="> 5,2", _
        Operator:=xlAnd
End Sub
Mais
quand je veux pouvoir faire varier le seuil avec:

Code:
Sub Macro5()
    
seuil =5.2 ' qui sera introduit par l'opérateur

Range("A6:B4023").Select
    Selection.AutoFilter
    ActiveWindow.SmallScroll Down:=-9
    ActiveSheet.Range("$A$6:$B$4023").AutoFilter Field:=2, Criteria1:="> "& seuil, _
        Operator:=xlAnd
End Sub

Le filtrage ne se fait pas correctement.

si par contre le seuil est fixé à (seuil=5) le filtrage se fait sans pb.

Pourriez-vous m'aiser s'il vous plaît,
Cordialement
 
Dernière édition:

Philippe63000

XLDnaute Junior
Re : filtrage et nombre décimaux

Re,
Merci pour ta réponse mais sur mon ordinateur ça ne fonctionne pas. Il ne trouve aucune valeur. Avec le programme ci-dessous il affiche à l'écran uniquement les deux flèches du filtrage et aucune valeur.

Code:
Sub macro()


 Range("B1").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "2"
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "3"
    Range("B1:B3").Select
    Selection.AutoFill Destination:=Range("B1:B14"), Type:=xlFillDefault


seuil = 5.2 ' qui sera introduit par l'opérateur
seuil = Replace("5.2", ".", ",")

Range("A1:B13").Select
    Selection.AutoFilter
    ActiveWindow.SmallScroll Down:=-9
    ActiveSheet.Range("$A$6:$B$4023").AutoFilter Field:=2, Criteria1:="> " & seuil, _
        Operator:=xlAnd

End Sub

cordialement
 

youky(BJ)

XLDnaute Barbatruc
Re : filtrage et nombre décimaux

Essaies comme cela,
Evite les select cela ne sert à rien et est plus gracieux.
Bruno
Code:
Sub macro()
Dim seuil As Long
[B1] = 1: [B2] = 2
 [B1:B2].AutoFill Destination:=[B1:B14], Type:=xlFillDefault
'seuil = 5.2 ' qui sera introduit par l'opérateur
 seuil = Replace("5.2", ".", ",")
Range("A1:B13").AutoFilter
    ActiveSheet.Range("$A$1:$B$4023").AutoFilter Field:=2, Criteria1:=">" & seuil, Operator:=xlAnd
End Sub
 

Modeste

XLDnaute Barbatruc
Re : filtrage et nombre décimaux

Bonjour Philippe63000,
Salut Bruno :)

Sur ma machine, ceci semble fonctionner:
VB:
Sub macro()
    seuil = "5.2" ' qui sera introduit par l'opérateur
    ActiveSheet.Range("$A$1:$B$15").AutoFilter Field:=2, Criteria1:=">" & seuil
End Sub
 

youky(BJ)

XLDnaute Barbatruc
Re : filtrage et nombre décimaux (Résolu)

Re;
C'est peut être que s'il n'y a pas de filtre cela plante.....
Code:
 [B1] = 1: [B2] = 2
  [B1:B2].AutoFill Destination:=[B1:B14], Type:=xlFillDefault
 seuil = "5.2" ' qui sera introduit par l'opérateur
  On Error Resume Next
    ActiveSheet.Range("$B$1:$B$4023").AutoFilter Field:=2, Criteria1:=">" & seuil, Operator:=xlAnd
    If Err > 0 Then
    Range("A1:B1").AutoFilter
    ActiveSheet.Range("$B$1:$B$4023").AutoFilter Field:=2, Criteria1:=">" & seuil, Operator:=xlAnd
    End If
 

Discussions similaires

Statistiques des forums

Discussions
312 286
Messages
2 086 791
Membres
103 392
dernier inscrit
doc_banane