Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre [Résolu]

INFINITY100

XLDnaute Occasionnel
Bonjour à tous

Voila j'essaye de réaliser un document qui contient des opérations diverses seulement je suis face à un problème de filtrage élaboré via un Combobox et un filtrage plus avancé via un Optionbotton car je sollicite votre aide afin d'avoir la bonne macro

Voila je joins mon fichier pour être plus claire et détaillé ma demande

Merci d'avance à vous tous

Cordialement
 

Pièces jointes

  • RecupFiltre.xlsm
    32.6 KB · Affichages: 38
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre

Bonjour,


Voir PJ

Code:
Sub Extrait()
  [b12:g100].Clear
  Sheets("Feuil1").Range("B11:G1000").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Feuil2!Criteria"), CopyToRange:=Range("B11:G11")
  [G65000].End(xlUp).Offset(1, 0).Select
  ActiveCell.Offset(, -1) = "Total"
  ActiveCell = "=SUM(G12:G" & ActiveCell.Offset(-1, 0).Row & ")"    
End Sub

Code:
Private Sub OptionButton1_Click()
[c2] = "dette"
End Sub

Private Sub OptionButton2_Click()
[c2] = "règlement"
End Sub

Private Sub OptionButton3_Click()
[c2] = "*"
End Sub

JB
 

Pièces jointes

  • RecupFiltre.xls
    59.5 KB · Affichages: 30
  • RecupFiltre.xls
    59.5 KB · Affichages: 45
  • RecupFiltre.xls
    59.5 KB · Affichages: 26
Dernière édition:

Lolote83

XLDnaute Barbatruc
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre

Salut INFINITY100,
Voici un exemple qui correspond à ta demande.
Je ne comprends pas pourquoi mon combobox ne veut pas se mettre à jour. Je l'ai fait pourtant 100 fois, mais la !!!!
Sinon tu aura au moins le code du filtre élaboré
@+ Lolote83
 

Pièces jointes

  • Copie de INFINITY100 - Filtre élaboré.xlsm
    36.5 KB · Affichages: 26

INFINITY100

XLDnaute Occasionnel
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre

Bonsoir

Merci beaucoup messieurs pour vos réponse

Voila ta proposition monsieur BOISGONTIER c'est exactement ce que je cherche à deux détails pré afin de compléter mon fichier avec une macro dont tu m'a déjà faite via une de mes précédentes demandes (Voir le PJ)


Quant à monsieur Lolote pour le filtre élaboré via userform l'idée est pas mal et je vais la garder ça car je l'utiliserai dans une autre feuille, et en ce qui s'agit du problème du combobox il suffit juste de faire ceci et ça ira :)

Code:
Dim f As Worksheet, Noms
Private Sub UserForm_Initialize()
  Set f = Sheets("Les_Noms")
  If f.[d1048576].End(xlUp).Row > 12 Then
    Noms = Application.Transpose(f.Range("d12:d" & f.[d1048576].End(xlUp).Row))
    Me.ComboBox1.List = Noms
    End If
End Sub
Private Sub Combobox1_change()
    [H3] = ComboBox1.Value
    [H4] = ComboBox1.Value
End Sub
 

Pièces jointes

  • RecupFiltreV2.xls
    65.5 KB · Affichages: 34

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre

Avec saisie semi automatique (intuitive) dans combobox.

Code:
Dim choix()
Private Sub ComboBox1_Change()
 choix = Application.Transpose([noms])
 If Me.ComboBox1.ListIndex = -1 And IsError(Application.Match(Me.ComboBox1, choix, 0)) Then
   Me.ComboBox1.List = Filter(choix, Me.ComboBox1.Text, True, vbTextCompare)
   Me.ComboBox1.DropDown
  End If
End Sub

Private Sub ComboBox1_Click()
  Extrait
End Sub

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  Me.ComboBox1.List = Application.Transpose([noms])
  Me.ComboBox1.DropDown
End Sub

Private Sub ComboBox1_DropButtonClick()
  On Error Resume Next
  If UBound(choix) = 0 Then
    choix = Application.Transpose([noms])
    Me.ComboBox1.List = choix
  End If
  On Error GoTo 0
End Sub

Private Sub OptionButton1_Click()
 [c2] = "dette"
 Extrait
End Sub

Private Sub OptionButton2_Click()
 [c2] = "règlement"
 Extrait
End Sub

Private Sub OptionButton3_Click()
 [c2] = "*"
 Extrait
End Sub


JB
 

Pièces jointes

  • RecupFiltreV2-1.xls
    59.5 KB · Affichages: 30
Dernière édition:

INFINITY100

XLDnaute Occasionnel
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre

bonjour

Merci Jacques ça fonctionne très bien maintenant pour finaliser le tout il reste qu'a éliminer c'est deux bug, en effet quand la liste des noms est vide et au clique sur le Combobox ça bug sur cette ligne

Code:
choix = Application.Transpose([noms])

Et à la saisie ça bug ici

Code:
If Me.ComboBox1.ListIndex = -1 And IsError(Application.Match(Me.ComboBox1, choix, 0)) Then

Voir PJ

Merci encore
 

Pièces jointes

  • RecupFiltreV2-2.xls
    64 KB · Affichages: 17

INFINITY100

XLDnaute Occasionnel
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre

Bonsoir

Merci beaucoup BOISGONTIER grâce à vous mon fichier est presque achevé et désolé si j'ai pris un peu plus que ce qu'il faut de votre temps mais il me reste un petit détail esthétique à réaliser et mon fichier sera fini, en effet toute en gardant le remplissage de la feuil1 vierge je veux quand le filtre se fait en feuil2 avoir un remplissage tel que (Le modèle voulu) ===> voir PJ

En d'autre terme intégrer le format du modèle voulu à cette macro

Code:
 Sub Extrait()
  [b12:g100].Clear
  Sheets("Feuil1").Range("B11:G1000").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Feuil2!Criteria"), CopyToRange:=Range("B11:G11")
  [G65000].End(xlUp).Offset(1, 0).Select
  ActiveCell.Offset(, -1) = "Total"
  If ActiveCell.Row > 12 Then
     ActiveCell = "=SUM(G12:G" & ActiveCell.Offset(-1, 0).Row & ")"
     Range("A1").Select
  End If
End Sub

Merci encore :)
 

Pièces jointes

  • RecupFiltreV2-1D.xls
    77.5 KB · Affichages: 19

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre

Voir PJ

Code:
Sub Extrait()
  [b12:g100].Clear
  Sheets("Feuil1").Range("B11:G1000").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("Feuil2!Criteria"), CopyToRange:=Range("B11:G11")
  [G65000].End(xlUp).Offset(1, 0).Select
  ActiveCell.Offset(, -1) = "Total"
  If ActiveCell.Row > 12 Then
     ActiveCell = "=SUM(G12:G" & ActiveCell.Offset(-1, 0).Row & ")"
  End If
  '---- présentation
  derlig = [c65000].End(xlUp).Row
  For lig = 12 To derlig
    Cells(lig, "b").Resize(, 6).Interior.Color = 13434879
    Cells(lig, "b").Resize(, 6).Font.ColorIndex = IIf(lig Mod 2, 3, 5)
  Next lig
  Set champ = Cells(derlig + 1, "f").Resize(, 2)
  champ.Interior.Color = 10213316
  champ.Font.Bold = True
  champ.Select
  bordure
End Sub

JB
 

Pièces jointes

  • RecupFiltreV2-1D-2.xls
    84.5 KB · Affichages: 35
Dernière édition:

INFINITY100

XLDnaute Occasionnel
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre [Résol

Bonjour BOISGONTIER

Et me revoilà encore face un soucis de grande importance du coté de la filtration, en effet j'ai ajouté à la liste des fournisseurs un prénom "Jac" puis sur feuille1 j'ai ajouté à ce dernier 2 opérations et bien quand je filtre avec le prénom "Jacques" ça fonctionne bien mais quand je sélectionne dans le combobox le prénom "Jac" il me filtre ce dernier + le prénom "Jacques" et c'est ainsi avec tout les prénoms qui ce ressemble

Pour être plus claire voir PJ

Merci de me corriger cela

Cordialement
 

Pièces jointes

  • RecupFiltreV2-1D-3.xls
    86 KB · Affichages: 30
  • RecupFiltreV2-1D-3.xls
    86 KB · Affichages: 43
  • RecupFiltreV2-1D-3.xls
    86 KB · Affichages: 36
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre [Résol

Bonjour,

Pour obtenir seulement Martin si plusieurs noms commencent par Martin

Dans le champ critère:

'=Martin
ou
="=Martin"

cf Le filtre élaboré

JB
 

Pièces jointes

  • RecupFiltreV2-1D-3.xls
    78 KB · Affichages: 32
  • RecupFiltreV2-1D-3.xls
    78 KB · Affichages: 37
  • RecupFiltreV2-1D-3.xls
    78 KB · Affichages: 36
Dernière édition:

INFINITY100

XLDnaute Occasionnel
Re : Besoin d'une macro qui Recupère un Filtre élaboré d'une feuille à l'autre [Résol

Bonsoir BOISGONTIER

Impeccable maintenant je peux dire que la macro est achevée, voila qui commence bien et se termine très très bien :)

Merci infiniment cher ami

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin