Petit problème sur le code pour un critere de filtre

Bonsoir à tous et toutes,

Vous trouverez ci-dessous le code en question :

Sub Importation_dans_le_fichier_pour_la_DI()

Dim Etiquette As String

Dim nombre As String

Dim Critère As String

Etiquette = InputBox("Quelle est le dernier numéro de votre fichier" & Chr(13), "Information pour pouvoir Exporter") & ""

If vbOK Then

nombre = Len(Etiquette)

Select Case nombre

Case Is = 6

Range("IMPORT_à_FAIRE") = Etiquette

Case Is = 1

Range("IMPORT_à_FAIRE") = "00000" & Etiquette & ""

Case Is = 2

Range("IMPORT_à_FAIRE") = "0000" & Etiquette & ""

Case Is = 3

Range("IMPORT_à_FAIRE") = "000" & Etiquette & ""

Case Is = 4

Range("IMPORT_à_FAIRE") = "00" & Etiquette & ""

Case Is = 5

Range("IMPORT_à_FAIRE") = "0" & Etiquette & ""

End Select

Critère = ">" & Range("IMPORT_à_FAIRE").Value

Range("Données").AutoFilter Field:=1, Criteria1:=Critère

End If

If vbCancel Then

Range("A12").Select

End If

Le problème apparait lorsque je lui indique le critére "est supérieur à" dans le cas ou le critère est "égal à" cela fonctionne bien.

Il me prend en compte le numéro au format nombre au lieu du format texte indispensable.

Je vous remercie pour votre aide

Amitié

Salut le forum

Air_2 merci d'utiliser les balises Code pour facilité la lecture de ta macro.

Tu sélectionnes ton texte et tu cliques sur le bouton Code en haut de la fenêtre.

Sub Importation_dans_le_fichier_pour_la_DI() 
Dim Etiquette As String 
Dim nombre As String 
Dim Critère As String 

Etiquette = InputBox("Quelle est le dernier numéro de votre fichier" & Chr(13), "Information pour pouvoir Exporter") & "" 

If vbOK Then 

nombre = Len(Etiquette) 
Select Case nombre 
Case Is = 6 
Range("IMPORT_à_FAIRE") = Etiquette 
Case Is = 1 
Range("IMPORT_à_FAIRE") = "00000" & Etiquette & "" 
Case Is = 2 
Range("IMPORT_à_FAIRE") = "0000" & Etiquette & "" 
Case Is = 3 
Range("IMPORT_à_FAIRE") = "000" & Etiquette & "" 
Case Is = 4 
Range("IMPORT_à_FAIRE") = "00" & Etiquette & "" 
Case Is = 5 
Range("IMPORT_à_FAIRE") = "0" & Etiquette & "" 
End Select 
Critère = ">" & Range("IMPORT_à_FAIRE").Value 
Range("Données").AutoFilter Field:=1, Criteria1:=Critère 

End If 

If vbCancel Then 
Range("A12").Select 
End If 

End Sub

Un fichier exemple, car je n'arrive pas a reproduire ton problème.

Mytå

P.S. Tu peux ré-éditer ton poste avec le bouton Editer en haut de la fenêtre.

Usb512 a écrit :

Salut le forum

Air_2 merci d'utiliser les balises Code pour facilité la lecture de ta macro.

Tu sélectionnes ton texte et tu cliques sur le bouton Code en haut de la fenêtre.

Sub Importation_dans_le_fichier_pour_la_DI() 
Dim Etiquette As String 
Dim nombre As String 
Dim Critère As String 

Etiquette = InputBox("Quelle est le dernier numéro de votre fichier" & Chr(13), "Information pour pouvoir Exporter") & "" 

If vbOK Then 

nombre = Len(Etiquette) 
Select Case nombre 
Case Is = 6 
Range("IMPORT_à_FAIRE") = Etiquette 
Case Is = 1 
Range("IMPORT_à_FAIRE") = "00000" & Etiquette & "" 
Case Is = 2 
Range("IMPORT_à_FAIRE") = "0000" & Etiquette & "" 
Case Is = 3 
Range("IMPORT_à_FAIRE") = "000" & Etiquette & "" 
Case Is = 4 
Range("IMPORT_à_FAIRE") = "00" & Etiquette & "" 
Case Is = 5 
Range("IMPORT_à_FAIRE") = "0" & Etiquette & "" 
End Select 
Critère = ">" & Range("IMPORT_à_FAIRE").Value 
Range("Données").AutoFilter Field:=1, Criteria1:=Critère 

End If 

If vbCancel Then 
Range("A12").Select 
End If 

End Sub

Un fichier exemple, car je n'arrive pas a reproduire ton problème.

Mytå

P.S. Tu peux ré-éditer ton poste avec le bouton Editer en haut de la fenêtre.

Merci Mytå

Je te remercie pour ces explications complémentaires, je t'en suis très reconnaissant.

Tu trouveras ci-joint un fichier qui va te permettre de reproduire mon problème

https://www.excel-pratique.com/~files/doc2/A_auditer.rar

Merci

Amicalement

salut,

tu dois avoir raison çà doit être une problème de format mais même en changeant le format des cellules à filtrer et C9, çà change rien!

En tout cas pour le filtre, est ce que ce serait pas plus lisible de l'écrire comme çà:

Critère = Range("IMPORT_à_FAIRE").Value
        Range("Données").AutoFilter
        Range("Données").AutoFilter Field:=1, Criteria1:=">=" & Critère

Sinon pour le reste c'est d'un autre niveau pour moi j'ai l'impression!

Salut le forum

Le filtre ne permet pas se critère sur des cellules contenant du texte.

Il faut convertir ta place en valeur numérique.

Sub Importation_dans_le_fichier_pour_la_DI()
Dim Etiquette As String
Dim nombre As String
Dim Critère As String
Dim Cellule As Range

For Each Cellule In Range("A13:A" & Range("A65536").End(xlUp).Row)
  With Cellule
    .Value = Val(Cellule)
    .NumberFormat = "000000"
  End With
Next Cellule

Etiquette = InputBox("Quelle est le dernier numéro de votre fichier" & Chr(13), "Information pour pouvoir Exporter") & ""

If vbOK Then

    Range("IMPORT_à_FAIRE") = Val(Etiquette)
        Critère = ">" & Val(Range("IMPORT_à_FAIRE"))
        Range("Données").AutoFilter Field:=1, Criteria1:=Critère

End If

If vbCancel Then
Range("A12").Select
End If

End Sub

Format de la Celllue C9 au format "000000"

Mytå

P.S. Merci d'utiliser le bouton Répondre en bas, au lieu de Citer en haut (Cela alourdi la fenêtre pour rien)

Bonsoir à tous,

Merci pour vos interventions :

Effectivement, il lui faut une valeur numérique.

Et je tâcherai à l'avenir de faire répondre au lieu de citer....

A tous et toutes bonne soirée

Amicalement

Rechercher des sujets similaires à "petit probleme code critere filtre"