Bonjour,
J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
du tableau).
Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
Operator:=xlAnd
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
Application.CutCopyMode = False
Selection.Copy
Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
sélectionnée...
Comment puis-je procédér ?
Merci!
Bonjour,
J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
du tableau).
Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
Operator:=xlAnd
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
Application.CutCopyMode = False
Selection.Copy
Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
sélectionnée...
Comment puis-je procédér ?
Merci!
Bonjour,
J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
du tableau).
Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
Operator:=xlAnd
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
Application.CutCopyMode = False
Selection.Copy
Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
sélectionnée...
Comment puis-je procédér ?
Merci!
Adapte ce code à ton application :
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
"Kolonna" a écrit dans le message de
news:
Bonjour,
J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
du tableau).
Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
Operator:=xlAnd
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
Application.CutCopyMode = False
Selection.Copy
Par contre, j'ai un souci lorsque le filtre retourne 0 ligne sélectionnée...
Comment puis-je procédér ?
Merci!
Adapte ce code à ton application :
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
"Kolonna" <Kolonna@discussions.microsoft.com> a écrit dans le message de
news: F4C360DA-C367-4595-876B-0BBB3A910771@microsoft.com...
Bonjour,
J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
du tableau).
Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
Operator:=xlAnd
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
Application.CutCopyMode = False
Selection.Copy
Par contre, j'ai un souci lorsque le filtre retourne 0 ligne sélectionnée...
Comment puis-je procédér ?
Merci!
Adapte ce code à ton application :
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
"Kolonna" a écrit dans le message de
news:
Bonjour,
J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
du tableau).
Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
Operator:=xlAnd
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
Application.CutCopyMode = False
Selection.Copy
Par contre, j'ai un souci lorsque le filtre retourne 0 ligne sélectionnée...
Comment puis-je procédér ?
Merci!
Adapte ce code à ton application :
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
"Kolonna" a écrit dans le message de
news:
Bonjour,
J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
du tableau).
Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
Operator:=xlAnd
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
Application.CutCopyMode = False
Selection.Copy
Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
sélectionnée...
Comment puis-je procédér ?
Merci!
Adapte ce code à ton application :
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
"Kolonna" <Kolonna@discussions.microsoft.com> a écrit dans le message de
news: F4C360DA-C367-4595-876B-0BBB3A910771@microsoft.com...
Bonjour,
J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
du tableau).
Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
Operator:=xlAnd
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
Application.CutCopyMode = False
Selection.Copy
Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
sélectionnée...
Comment puis-je procédér ?
Merci!
Adapte ce code à ton application :
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
"Kolonna" a écrit dans le message de
news:
Bonjour,
J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
du tableau).
Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
Operator:=xlAnd
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
Application.CutCopyMode = False
Selection.Copy
Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
sélectionnée...
Comment puis-je procédér ?
Merci!
Tu as parfaitement raison, j'ai omis
"SpecialCells(xlCellTypeVisible)" dans la procédure
Désolé :
'-----------------------------------------------
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).SpecialCells(xlCellTypeVisible) _
.Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
'-----------------------------------------------
"Kolonna" a écrit dans le message de
news:
Je dois rater un truc, car ton code tel quel ne fonctionne pas chez moi...
Ca me copie les lignes "cachées", donc non filtrées...
"michdenis" a écrit :
> Adapte ce code à ton application :
>
>
> Sub test()
>
> Dim Valeur As Long
>
> Valeur = 5
>
> Application.ScreenUpdating = False
> With Worksheets("Feuil1")
> With .Range("A1").CurrentRegion
> .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> End With
> With .Range("_FilterDatabase")
> .Offset(1, 0).Resize(.Rows.Count - 1, _
> .Columns.Count).Copy Feuil2.Range("A1")
> End With
> .Range("A1").AutoFilter
> End With
>
> End Sub
>
>
>
>
> "Kolonna" a écrit dans le message de
> news:
> Bonjour,
>
> J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
> du tableau).
>
> Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
> Operator:=xlAnd
>
> Set tbl = ActiveCell.CurrentRegion
> tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
> tbl.Columns.Count).Select
> Application.CutCopyMode = False
> Selection.Copy
>
> Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
> sélectionnée...
> Comment puis-je procédér ?
>
> Merci!
>
>
Tu as parfaitement raison, j'ai omis
"SpecialCells(xlCellTypeVisible)" dans la procédure
Désolé :
'-----------------------------------------------
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).SpecialCells(xlCellTypeVisible) _
.Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
'-----------------------------------------------
"Kolonna" <Kolonna@discussions.microsoft.com> a écrit dans le message de
news: 220E9270-37EE-442E-B589-8AA2AE5D6D82@microsoft.com...
Je dois rater un truc, car ton code tel quel ne fonctionne pas chez moi...
Ca me copie les lignes "cachées", donc non filtrées...
"michdenis" a écrit :
> Adapte ce code à ton application :
>
>
> Sub test()
>
> Dim Valeur As Long
>
> Valeur = 5
>
> Application.ScreenUpdating = False
> With Worksheets("Feuil1")
> With .Range("A1").CurrentRegion
> .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> End With
> With .Range("_FilterDatabase")
> .Offset(1, 0).Resize(.Rows.Count - 1, _
> .Columns.Count).Copy Feuil2.Range("A1")
> End With
> .Range("A1").AutoFilter
> End With
>
> End Sub
>
>
>
>
> "Kolonna" <Kolonna@discussions.microsoft.com> a écrit dans le message de
> news: F4C360DA-C367-4595-876B-0BBB3A910771@microsoft.com...
> Bonjour,
>
> J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
> du tableau).
>
> Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
> Operator:=xlAnd
>
> Set tbl = ActiveCell.CurrentRegion
> tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
> tbl.Columns.Count).Select
> Application.CutCopyMode = False
> Selection.Copy
>
> Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
> sélectionnée...
> Comment puis-je procédér ?
>
> Merci!
>
>
Tu as parfaitement raison, j'ai omis
"SpecialCells(xlCellTypeVisible)" dans la procédure
Désolé :
'-----------------------------------------------
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).SpecialCells(xlCellTypeVisible) _
.Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
'-----------------------------------------------
"Kolonna" a écrit dans le message de
news:
Je dois rater un truc, car ton code tel quel ne fonctionne pas chez moi...
Ca me copie les lignes "cachées", donc non filtrées...
"michdenis" a écrit :
> Adapte ce code à ton application :
>
>
> Sub test()
>
> Dim Valeur As Long
>
> Valeur = 5
>
> Application.ScreenUpdating = False
> With Worksheets("Feuil1")
> With .Range("A1").CurrentRegion
> .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> End With
> With .Range("_FilterDatabase")
> .Offset(1, 0).Resize(.Rows.Count - 1, _
> .Columns.Count).Copy Feuil2.Range("A1")
> End With
> .Range("A1").AutoFilter
> End With
>
> End Sub
>
>
>
>
> "Kolonna" a écrit dans le message de
> news:
> Bonjour,
>
> J'utilise le code suivant pour copier une zone filtrée (sans la 1ère ligne
> du tableau).
>
> Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
> Operator:=xlAnd
>
> Set tbl = ActiveCell.CurrentRegion
> tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
> tbl.Columns.Count).Select
> Application.CutCopyMode = False
> Selection.Copy
>
> Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
> sélectionnée...
> Comment puis-je procédér ?
>
> Merci!
>
>
Tu as parfaitement raison, j'ai omis
"SpecialCells(xlCellTypeVisible)" dans la procédure
Désolé :
'-----------------------------------------------
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).SpecialCells(xlCellTypeVisible) _
.Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
'-----------------------------------------------
"Kolonna" a écrit dans le message de
news:
Je dois rater un truc, car ton code tel quel ne fonctionne pas chez moi...
Ca me copie les lignes "cachées", donc non filtrées...
"michdenis" a écrit :
> Adapte ce code à ton application :
>
>
> Sub test()
>
> Dim Valeur As Long
>
> Valeur = 5
>
> Application.ScreenUpdating = False
> With Worksheets("Feuil1")
> With .Range("A1").CurrentRegion
> .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> End With
> With .Range("_FilterDatabase")
> .Offset(1, 0).Resize(.Rows.Count - 1, _
> .Columns.Count).Copy Feuil2.Range("A1")
> End With
> .Range("A1").AutoFilter
> End With
>
> End Sub
>
>
>
>
> "Kolonna" a écrit dans le message de
> news:
> Bonjour,
>
> J'utilise le code suivant pour copier une zone filtrée (sans la 1ère
> ligne
> du tableau).
>
> Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
> Operator:=xlAnd
>
> Set tbl = ActiveCell.CurrentRegion
> tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
> tbl.Columns.Count).Select
> Application.CutCopyMode = False
> Selection.Copy
>
> Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
> sélectionnée...
> Comment puis-je procédér ?
>
> Merci!
>
>
Tu as parfaitement raison, j'ai omis
"SpecialCells(xlCellTypeVisible)" dans la procédure
Désolé :
'-----------------------------------------------
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).SpecialCells(xlCellTypeVisible) _
.Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
'-----------------------------------------------
"Kolonna" <Kolonna@discussions.microsoft.com> a écrit dans le message de
news: 220E9270-37EE-442E-B589-8AA2AE5D6D82@microsoft.com...
Je dois rater un truc, car ton code tel quel ne fonctionne pas chez moi...
Ca me copie les lignes "cachées", donc non filtrées...
"michdenis" a écrit :
> Adapte ce code à ton application :
>
>
> Sub test()
>
> Dim Valeur As Long
>
> Valeur = 5
>
> Application.ScreenUpdating = False
> With Worksheets("Feuil1")
> With .Range("A1").CurrentRegion
> .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> End With
> With .Range("_FilterDatabase")
> .Offset(1, 0).Resize(.Rows.Count - 1, _
> .Columns.Count).Copy Feuil2.Range("A1")
> End With
> .Range("A1").AutoFilter
> End With
>
> End Sub
>
>
>
>
> "Kolonna" <Kolonna@discussions.microsoft.com> a écrit dans le message de
> news: F4C360DA-C367-4595-876B-0BBB3A910771@microsoft.com...
> Bonjour,
>
> J'utilise le code suivant pour copier une zone filtrée (sans la 1ère
> ligne
> du tableau).
>
> Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
> Operator:=xlAnd
>
> Set tbl = ActiveCell.CurrentRegion
> tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
> tbl.Columns.Count).Select
> Application.CutCopyMode = False
> Selection.Copy
>
> Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
> sélectionnée...
> Comment puis-je procédér ?
>
> Merci!
>
>
Tu as parfaitement raison, j'ai omis
"SpecialCells(xlCellTypeVisible)" dans la procédure
Désolé :
'-----------------------------------------------
Sub test()
Dim Valeur As Long
Valeur = 5
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
End With
With .Range("_FilterDatabase")
.Offset(1, 0).Resize(.Rows.Count - 1, _
.Columns.Count).SpecialCells(xlCellTypeVisible) _
.Copy Feuil2.Range("A1")
End With
.Range("A1").AutoFilter
End With
End Sub
'-----------------------------------------------
"Kolonna" a écrit dans le message de
news:
Je dois rater un truc, car ton code tel quel ne fonctionne pas chez moi...
Ca me copie les lignes "cachées", donc non filtrées...
"michdenis" a écrit :
> Adapte ce code à ton application :
>
>
> Sub test()
>
> Dim Valeur As Long
>
> Valeur = 5
>
> Application.ScreenUpdating = False
> With Worksheets("Feuil1")
> With .Range("A1").CurrentRegion
> .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> End With
> With .Range("_FilterDatabase")
> .Offset(1, 0).Resize(.Rows.Count - 1, _
> .Columns.Count).Copy Feuil2.Range("A1")
> End With
> .Range("A1").AutoFilter
> End With
>
> End Sub
>
>
>
>
> "Kolonna" a écrit dans le message de
> news:
> Bonjour,
>
> J'utilise le code suivant pour copier une zone filtrée (sans la 1ère
> ligne
> du tableau).
>
> Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
> Operator:=xlAnd
>
> Set tbl = ActiveCell.CurrentRegion
> tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
> tbl.Columns.Count).Select
> Application.CutCopyMode = False
> Selection.Copy
>
> Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
> sélectionnée...
> Comment puis-je procédér ?
>
> Merci!
>
>
| Normal ?
Bien sûr, c'est une des caractéristiques de la propriété SpecialCells
décrite dans l'aide. Lorsqu'elle ne trouve pas de cellules correspondantes
elle se "plante".
On début de macro, utilise : On error resume next
et après la ligne où la procédure copie les données vers
la plage de destination, tu ajoutes :
On error goto 0
"Kolonna" a écrit dans le message de
news:
Je me retrouve maintenant avec une erreur d'execution si aucune ligne ne
correspond à mes critères de filtre. Normal ?
Merci!
"michdenis" a écrit :
> Tu as parfaitement raison, j'ai omis
> "SpecialCells(xlCellTypeVisible)" dans la procédure
>
> Désolé :
>
> '-----------------------------------------------
> Sub test()
>
> Dim Valeur As Long
>
> Valeur = 5
>
> Application.ScreenUpdating = False
> With Worksheets("Feuil1")
> With .Range("A1").CurrentRegion
> .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> End With
> With .Range("_FilterDatabase")
> .Offset(1, 0).Resize(.Rows.Count - 1, _
> .Columns.Count).SpecialCells(xlCellTypeVisible) _
> .Copy Feuil2.Range("A1")
> End With
> .Range("A1").AutoFilter
> End With
>
> End Sub
> '-----------------------------------------------
>
>
>
> "Kolonna" a écrit dans le message de
> news:
> Je dois rater un truc, car ton code tel quel ne fonctionne pas chez moi...
> Ca me copie les lignes "cachées", donc non filtrées...
>
> "michdenis" a écrit :
>
> > Adapte ce code à ton application :
> >
> >
> > Sub test()
> >
> > Dim Valeur As Long
> >
> > Valeur = 5
> >
> > Application.ScreenUpdating = False
> > With Worksheets("Feuil1")
> > With .Range("A1").CurrentRegion
> > .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> > End With
> > With .Range("_FilterDatabase")
> > .Offset(1, 0).Resize(.Rows.Count - 1, _
> > .Columns.Count).Copy Feuil2.Range("A1")
> > End With
> > .Range("A1").AutoFilter
> > End With
> >
> > End Sub
> >
> >
> >
> >
> > "Kolonna" a écrit dans le message de
> > news:
> > Bonjour,
> >
> > J'utilise le code suivant pour copier une zone filtrée (sans la 1ère
> > ligne
> > du tableau).
> >
> > Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
> > Operator:=xlAnd
> >
> > Set tbl = ActiveCell.CurrentRegion
> > tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
> > tbl.Columns.Count).Select
> > Application.CutCopyMode = False
> > Selection.Copy
> >
> > Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
> > sélectionnée...
> > Comment puis-je procédér ?
> >
> > Merci!
> >
> >
>
>
| Normal ?
Bien sûr, c'est une des caractéristiques de la propriété SpecialCells
décrite dans l'aide. Lorsqu'elle ne trouve pas de cellules correspondantes
elle se "plante".
On début de macro, utilise : On error resume next
et après la ligne où la procédure copie les données vers
la plage de destination, tu ajoutes :
On error goto 0
"Kolonna" <Kolonna@discussions.microsoft.com> a écrit dans le message de
news: 6547DA06-2449-4CD0-AEAD-C5538C32B2F1@microsoft.com...
Je me retrouve maintenant avec une erreur d'execution si aucune ligne ne
correspond à mes critères de filtre. Normal ?
Merci!
"michdenis" a écrit :
> Tu as parfaitement raison, j'ai omis
> "SpecialCells(xlCellTypeVisible)" dans la procédure
>
> Désolé :
>
> '-----------------------------------------------
> Sub test()
>
> Dim Valeur As Long
>
> Valeur = 5
>
> Application.ScreenUpdating = False
> With Worksheets("Feuil1")
> With .Range("A1").CurrentRegion
> .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> End With
> With .Range("_FilterDatabase")
> .Offset(1, 0).Resize(.Rows.Count - 1, _
> .Columns.Count).SpecialCells(xlCellTypeVisible) _
> .Copy Feuil2.Range("A1")
> End With
> .Range("A1").AutoFilter
> End With
>
> End Sub
> '-----------------------------------------------
>
>
>
> "Kolonna" <Kolonna@discussions.microsoft.com> a écrit dans le message de
> news: 220E9270-37EE-442E-B589-8AA2AE5D6D82@microsoft.com...
> Je dois rater un truc, car ton code tel quel ne fonctionne pas chez moi...
> Ca me copie les lignes "cachées", donc non filtrées...
>
> "michdenis" a écrit :
>
> > Adapte ce code à ton application :
> >
> >
> > Sub test()
> >
> > Dim Valeur As Long
> >
> > Valeur = 5
> >
> > Application.ScreenUpdating = False
> > With Worksheets("Feuil1")
> > With .Range("A1").CurrentRegion
> > .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> > End With
> > With .Range("_FilterDatabase")
> > .Offset(1, 0).Resize(.Rows.Count - 1, _
> > .Columns.Count).Copy Feuil2.Range("A1")
> > End With
> > .Range("A1").AutoFilter
> > End With
> >
> > End Sub
> >
> >
> >
> >
> > "Kolonna" <Kolonna@discussions.microsoft.com> a écrit dans le message de
> > news: F4C360DA-C367-4595-876B-0BBB3A910771@microsoft.com...
> > Bonjour,
> >
> > J'utilise le code suivant pour copier une zone filtrée (sans la 1ère
> > ligne
> > du tableau).
> >
> > Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
> > Operator:=xlAnd
> >
> > Set tbl = ActiveCell.CurrentRegion
> > tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
> > tbl.Columns.Count).Select
> > Application.CutCopyMode = False
> > Selection.Copy
> >
> > Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
> > sélectionnée...
> > Comment puis-je procédér ?
> >
> > Merci!
> >
> >
>
>
| Normal ?
Bien sûr, c'est une des caractéristiques de la propriété SpecialCells
décrite dans l'aide. Lorsqu'elle ne trouve pas de cellules correspondantes
elle se "plante".
On début de macro, utilise : On error resume next
et après la ligne où la procédure copie les données vers
la plage de destination, tu ajoutes :
On error goto 0
"Kolonna" a écrit dans le message de
news:
Je me retrouve maintenant avec une erreur d'execution si aucune ligne ne
correspond à mes critères de filtre. Normal ?
Merci!
"michdenis" a écrit :
> Tu as parfaitement raison, j'ai omis
> "SpecialCells(xlCellTypeVisible)" dans la procédure
>
> Désolé :
>
> '-----------------------------------------------
> Sub test()
>
> Dim Valeur As Long
>
> Valeur = 5
>
> Application.ScreenUpdating = False
> With Worksheets("Feuil1")
> With .Range("A1").CurrentRegion
> .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> End With
> With .Range("_FilterDatabase")
> .Offset(1, 0).Resize(.Rows.Count - 1, _
> .Columns.Count).SpecialCells(xlCellTypeVisible) _
> .Copy Feuil2.Range("A1")
> End With
> .Range("A1").AutoFilter
> End With
>
> End Sub
> '-----------------------------------------------
>
>
>
> "Kolonna" a écrit dans le message de
> news:
> Je dois rater un truc, car ton code tel quel ne fonctionne pas chez moi...
> Ca me copie les lignes "cachées", donc non filtrées...
>
> "michdenis" a écrit :
>
> > Adapte ce code à ton application :
> >
> >
> > Sub test()
> >
> > Dim Valeur As Long
> >
> > Valeur = 5
> >
> > Application.ScreenUpdating = False
> > With Worksheets("Feuil1")
> > With .Range("A1").CurrentRegion
> > .AutoFilter Field:=1, Criteria1:=">=" & Valeur * 1
> > End With
> > With .Range("_FilterDatabase")
> > .Offset(1, 0).Resize(.Rows.Count - 1, _
> > .Columns.Count).Copy Feuil2.Range("A1")
> > End With
> > .Range("A1").AutoFilter
> > End With
> >
> > End Sub
> >
> >
> >
> >
> > "Kolonna" a écrit dans le message de
> > news:
> > Bonjour,
> >
> > J'utilise le code suivant pour copier une zone filtrée (sans la 1ère
> > ligne
> > du tableau).
> >
> > Selection.AutoFilter Field:=1, Criteria1:=">=" & valeur * 1,
> > Operator:=xlAnd
> >
> > Set tbl = ActiveCell.CurrentRegion
> > tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
> > tbl.Columns.Count).Select
> > Application.CutCopyMode = False
> > Selection.Copy
> >
> > Par contre, j'ai un souci lorsque le filtre retourne 0 ligne
> > sélectionnée...
> > Comment puis-je procédér ?
> >
> > Merci!
> >
> >
>
>