Filtre VBA avec choix de l'utilisateur

Bonjour,

Mon problème est relativement simple, à expliquer du moins.

J'ai la ligne de code pour appliquer un filtre de type "contient" :

Sub Macro2()
'
' Macro2 Macro
'

    ActiveSheet.Range("$A$5:$AB$879").AutoFilter Field:=28, Criteria1:= _
        "=*BNOA*", Operator:=xlAnd
End Sub

Ma question est:

Est ce qu'il serait possible de mettre à la place de BNOA (mon critère) une requète qui demande à l'utilisateur (dans une fenêtre par exemple) ou qui fait référence à une case pour laisser le choix du critère à l'utilisateur tout simplement.

Merci de vôtre aide !!

Bonjour

lerbofiwol a écrit :

ou qui fait référence à une case

A tester

Sub Macro2()
'
' Macro2 Macro
'

'  ActiveSheet.Range("$A$5:$AB$879").AutoFilter Field:=28, Criteria1:= _
'                                               "=*BNOA*", Operator:=xlAnd
  ActiveSheet.Range("$A$5:$AB$879").AutoFilter Field:=28, Criteria1:= _
                                               "=*" & Range("A1") & "*"
End Sub

A condition que A1 soit libre

Bonjour,

variable = Application.InputBox("Cellule?", Type:=2)

Cela va renvoyer dans variable la valeur de cellule en choisi (en format texte)

Sinon si ce sont des chiffres:

variable = Application.InputBox("Cellule ?", Type:=1)

Selon le contexte il y a encore d'autres solutions possibles...

OOOOh MERCiiiiiiiiiii !!!!!!

Sa marche super bien !!! C'est pile poil ce qu'il me faut !!! =)

Maintenant pitite question ma case est dans une autre feuille on va dire Feuil 1 et le tri se fait dans Feuil 2 je mes quoi pour adapter ?


Pour préciser quand même la solution de Banzai64 est nickel c'est celle - ci que je souhaite adapter.

Bonjour

A tester

Sub Macro2()
'
' Macro2 Macro
'
 Sheets("Feuil2").Range("$A$5:$AB$879").AutoFilter Field:=28, Criteria1:= _
                                               "=*" & Sheets("Feuil1").Range("A1") & "*"
End Sub

Merci Banzai64 c'est vraiment superbe se que tu me proposes c'est exactement ce dont j'ai besoin.

Malheureusement je te pose à nouveau une problématique que j'éssaye de résoudre depuis plusieurs jours sans réponse (comprise du moins).

Sub Macro2()
'
' Macro2 Macro
'
 Sheets("Feuil1").Range("$A$5:$AB$879").AutoFilter Field:=28, Criteria1:= _
                                               "=*" & Sheets("Feuil2").Range("A1") & "*"
End Sub
 

Pour le code ci - dessus, je souhaite pouvoir l'utiliser de cette manière:

J'éxécute la macro dans un tableau excel nommé Projet.xls. Dans ce même fichier, se trouve la case A1.

Là où s'effectuerait le filtre par contre, c'est un fichier fermé nommé Import.xls.

Je cherche depuis pas mal d'heures maintenant comment se servire d'un fichier fermé sans réel progrès.

Maintenant que j'ai ma commande j'aimerai savoir si celà est possible et comment.

Merci pour ton aide en tout cas Banzai64 !!!!


Oh !! et petit oublie, le but !!

En fait je vais appliquer plusieurs filtre pour à la fin importer la ligne restante après tous les filtres.

Bonjour

Sans fichier de travail

A tester

Option Explicit

Sub Filtre()
Dim Chemin As String, Fichier As String
Dim Ws As Worksheet

  Application.ScreenUpdating = False
  Chemin = ThisWorkbook.Path & Application.PathSeparator
  Fichier = "Projet.xls"
  If Dir(Chemin & Fichier) = "" Then
    MsgBox "Fichier introuvable" & vbCr & Fichier
    Exit Sub
  End If
  Set Ws = Sheets("Feuil1")

  With Workbooks.Open(Chemin & Fichier)
    .Sheets("Feuil1").Range("$A$5:$AB$879").AutoFilter Field:=28, Criteria1:= _
                                               "=*" & .Sheets("Feuil1").Range("A1") & "*"

    If Application.Subtotal(103, .Sheets("Feuil1").Columns(28)) > 1 Then
      .Sheets("Feuil1").Range("$A$6:$AB$879").SpecialCells(xlCellTypeVisible).Copy Ws.Range("A1")
    End If

    .Close savechanges:=False
  End With
End Sub

Merci beaucoup banzai !!!

Il est vrai que je n'ai pas joins de fichier, je le fais habituellement mais pour ce sujet je pensais inutile d'en mettre vue que le soucis portait clairement sur des lignes de code VBA.

Mes questions portaient vraiment sur le fait de comment faire tel ou tel action en language VBA.

Je ne souhaitais pas présenter de fichier du coup car en faisant comme nous avons fait, je trouve que les lignes sont faciles à adapter malgrès ma méconnaissance du VBA.

Ceci étant dit, chaqu'un ses goûts et ses méthodes de travail donc vue que t'es le chef, prochain coup je ne manquerai pas de joindre un fichier de travail.

Merci beaucoup pour ton aide tu m'as vraiment permis d'avancer dans mon projet alors que j'étais bloqué depuis quelques jours.

A bientôt sur un autre topic !!

//Sujet terminé\\

Rechercher des sujets similaires à "filtre vba choix utilisateur"