Filtrage auto par macro

Bonjour,

j'ai écrit une macro qui permet de faire un filtre automatique sur un tableau, mais elle ne fonctionne pas et je n'arrive pas à comprendre pourquoi.

Voilà le code:

' MiseEnForme Macro
'

'
    Sheets("Coordonnés des noeuds").Select

    With Worksheets("Coordonnés des noeuds")
    If .FilterMode = True Then .ShowAllData
    End With

' rayon =2,40

    If Worksheets("Coordonnés des noeuds").AutoFilterMode Then
    Worksheets("Coordonnés des noeuds").AutoFilterMode = False
    End If

    Range("A1:N2500").Select
    Selection.AutoFilter Field:=13, Criteria1:="2,40"

Normalement je devrais avoir toutes les lignes pour lesquelles la colonne "Rayon" est égale à 2,40 mais à la place j'ai l'affichage de la pièce jointe (screenshot). Sur toutes les colonnes rien n'est sélectionné par la macro, sauf pour la colonne "Rayon" qui filtre bien le texte "2,40".

J'ai essayé plusieurs choses vues sur le net mais rien n'y fait.

Si quelqu'un voit d'où vient le problème...

screenshot

Si mon problème n'est pas clair je peux éventuellement fournir plus d'explications...

Bonjour,

Selection.AutoFilter Field:=13, Criteria1:="2,4"

Bonjour,

j'ai remplacé "2,40" par "2,4" mais cela ne change rien. En fait le filtre "2,40" fonctionne car après exécution de la macro je vois bien dans la colonne "rayon" que le filtre a été appliqué.

Le problème vient plutôt des autres colonnes ou rien n'est sélectionné, alors qu'au contraire tout devrait être sélectionné dans la mesure où je n'applique un filtre que sur la colonne "rayon".

Je précise qu'évidemment avant de lancer la macro aucun filtre n'est appliqué

Re,

Bonjour,

en fait il suffisait de remplacer la virgule par un point pour le critère...

Selection.AutoFilter Field:=13, Criteria1:="2.40"

Ce qui est étonnant c'est que j'avais utilisé l'enregistreur de macro pour obtenir ce code...

Merci Jean Eric pour ton aide.

Rechercher des sujets similaires à "filtrage auto macro"