Filtre élaboré

Bonjour la macro ci dessous ne veut pas me copier mes données sur la feuil1.

En fait mon tableau de la feuille f (set f = sheets....) commence en ligne 12. il devrait copier sur la feuil1 la ligne 12 et les données filtrées.

Donc le code devrait etre

f.[A12:AF10000].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=f.[BA1:BB2], CopyToRange:=Sheets("Feuil1").[A1:AF1]

Mais il m'oblige à mettre

f.[A1:AF10000].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=f.[BA1:BB2], CopyToRange:=Sheets("Feuil1").[A1:AF1]

Or en ligne 1 je n'ai rien.... Avez vous une idée ? j'affiche la macro complète pour plus de visibilité

Dim début, nLigneTxt, n, f

Private Sub UserForm_Initialize()
  Set f = Sheets("BUDGET PRINCIPAL")
  début = 45
  nLigneTxt = 5
  n = nLigneTxt
  nBD = Application.CountA(f.[A:A]) - 1
  If nBD < n Then n = nBD
  Me.ScrollBar1.Min = 45
  Me.ScrollBar1.Max = nBD - n + 1
  affiche
End Sub

Private Sub ScrollBar1_Change()
  début = ScrollBar1
  affiche
End Sub
Private Sub B_ok_Click()
  Set f = Sheets("BUDGET PRINCIPAL")
  f.[BA2] = "*" & Me.TextBox1 & "*"
  f.[BB2] = "*" & Me.TextBox2 & "*"
  f.[A1:AF10000].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=f.[BA1:BB2], CopyToRange:=Sheets("Feuil1").[A1:AF1]

  Set f = Sheets("Feuil1")
  début = 12
  For I = 1 To n
    Me("txt2" & I).Value = ""
    Me("txt3" & I).Value = ""
    Me("txt4" & I).Value = ""
    Me("txt5" & I).Value = ""

  Next I
  nInterro = Application.CountA(f.[A:A]) - 1
  If nInterro < n Then n = nInterro
  Me.ScrollBar1.Min = 45
  Me.ScrollBar1.Max = nInterro - n + 1
  affiche
  n = nLigneTxt
End Sub
Sub affiche()
  For I = 1 To n

    Me("txt2" & I).Value = f.Cells(I + début, 6)
    Me("txt3" & I).Value = f.Cells(I + début, 7)
     Me("txt4" & I).Value = f.Cells(I + début, 8)
     Me("txt5" & I).Value = f.Cells(I + début, 9)

  Next I

End Sub

Bonjour

sans fichier c'est difficile

qu'est-ce qu'il y a sur la ligne 1 ? y a t-il les entêtes ?

tu risques pas d'avoir aussi trop de lignes et venir impacter la ligne 12 (du reste c'est peut-être une limitation d'excel justement) ... je te conseillerais de faire le filtre sur un autre onglet

un userform pour filtrer c'est aussi un peu complexe !!

De 1 a 11 il y a de tout sauf le tableau, lui il commence en ligne 12. Et le filtre s’effectue sur feuil1

De 1 a 11 il y a de tout

Je n'ai pas bien compris.

Peux-tu mettre une copie d'écran ou mieux un fichier anonymisé ?

Bonjour,

Tu trouveras en PJ un fichier anonymisé. L'original comporte beaucoup plus de lignes. Il n'est pas possible de toucher à la forme du tableau.

0 l'ouverture de l'Userform tout est OK, puis quand je lance le filtre avancé soit j'ai rien soit erreur 1004 si je modifie un peu la macro....

Je ne vois pas du tout ce qui cloche... j'ai tout essayé

On parle de l'userform7

Merci pour votre aide

10jah.xlsm (475.51 Ko)

C'est bon... il fallait juste que je crée une "Feuil2" et remplacer "Feuil1" par "Feuil2" dans la macro.... j'ignore la raison

Donc c'est ok ?

sinon tu me le dis, je jetterai un œil sur le fichier joint.

Rechercher des sujets similaires à "filtre elabore"