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