Contrôler si une plage est vide après un filtre
s
Bonjour,
Assez novice en vba, je coince pour effectuer un contrôle dans ma macro.
l'Objectif du contrôle: avant de faire les copier/coller suite aux filtres appliqués, je voudrais tester qu'il y a bien des données à copier/coller une fois filtré.
mon code bug à ce niveau
Range("A7:A" & taille).SpecialCells(xlCellTypeVisible).Select
Selection.CopyCela fonctionne quand il y a des lignes, mais si pas de lignes,cela ne fonctionne pas.
du coup je voudrais tester avant de faire le select.
ci dessous le début du code.
Private Sub CommandButton1_Click()
Application.ScreenUpdating = True
Dim datedebutbis As Single
Dim datefinbis As Single
datedebut = CDate(Format(TextBox1.Value, "dd/mm/yyyy"))
datefin = CDate(Format(TextBox2.Value, "dd/mm/yyyy"))
'Workbooks.Open Filename:= _
'"XX"
Windows("Plan de charge 2015 - REGION EE_V3.xls").Activate
datedebutbis = datedebut
TextBox3.Value = datedebutbis
datefinbis = datefin
TextBox4.Value = datefinbis
Dim taille As Integer
taille = WorksheetFunction.CountA(Columns("A:A")) + 1
ActiveSheet.Range("$A$6:$CZ$952").AutoFilter Field:=41, Criteria1:= _
">=" & TextBox3.Value, Operator:=xlAnd, Criteria2:="<=" & TextBox4.Value
Windows("Plan de charge 2015 - REGION EE_V3.xls").Activate
ActiveSheet.Range("$A$6:$CZ$952").AutoFilter Field:=32, Criteria1:= _
"BPU annexe 3"
ActiveSheet.Range("$A$6:$CZ$952").AutoFilter Field:=36, Criteria1:="="
Range("A7:A" & taille).SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Windows("XX").Activate
Sheets("BPU-Prest.Compl Annexe 3").Select
DerniereLigne = Range("A" & Rows.Count).End(xlUp).Row
ligne = DerniereLigne + 1
Range("A" & ligne).Select
Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Plan de charge 2015 - REGION EE_V3.xls").ActivateMerci par avance et a dites moi si je ne suis pas suffisant clair.
Bonjour et bienvenu(e)
Modifies la fin de la macro
If Application.Subtotal(103, Columns("A")) > 1 Then
Range("A7:A" & taille).SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Windows("XX").Activate
Sheets("BPU-Prest.Compl Annexe 3").Select
DerniereLigne = Range("A" & Rows.Count).End(xlUp).Row
ligne = DerniereLigne + 1
Range("A" & ligne).Select
Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Plan de charge 2015 - REGION EE_V3.xls").Activate
End IfSi pas ça
s
Bonjour Banzai64,
C'est exactement ce que je souhaitais.
J'ai juste remplacer le 1 par 6 car mon entête de tableau est à la ligne 6.
Merci pour ta réponse rapide.