Bonjour
J'ai un code qui copie les cellules VISIBLES de la plage A1 - S500 , c'est à dire les cellules cachées ne le sont pas.
Cependant je cherche à améliorer ce code afin que soit copiée la plage jusqu'à la dernière ligne remplie (selon la colonne B).
La plage sera toujours jusqu'à la colonne S même si des cellules sont remplies après la colonne S.
Mais il faut que la sélection soit faite jusqu'à la derniere ligne remplie.
Par exemple si la cellule B56 est remplie mais en dessous B57 est vide, alors la macro copiera les données des cellules visibles de plage A1 - S56
Voici le code qui copie une plage de cellules fixe:
Set Source = Nothing
On Error Resume Next
Set Source = Range("A1:S500").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Source Is Nothing Then
MsgBox "The source is not a range or the sheet is protected, please correct and try again.", vbOKOnly
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set wb = ActiveWorkbook
Set Dest = Workbooks.Add(xlWBATWorksheet)
Source.Copy
With Dest.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial Paste:=xlPasteValues
.Cells(1).PasteSpecial Paste:=xlPasteFormats
.Cells(1).Select
Application.CutCopyMode = False
End With