1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Sub CopieData()
'--- ajoute les lignes utiles de la feuille courante dans la feuille Bilan
Dim kR As Long, kRlast As Long, kRb As Long
Dim wsBilan As Worksheet
Set wsBilan = Application.ActiveWorkbook.Worksheets("Bilan")
If ActiveSheet.Name = wsBilan.Name Then
MsgBox "Annulé: placez vous sur une feuille dont les données utiles" & vbLf & _
"sont à ajouter à la feuille Bilan.", , " Anomalie"
Exit Sub
End If
kRb = wsBilan.Range("B" & Rows.Count).End(xlUp).Row '--- dernière ligne Bilan
For kR = 2 To ActiveSheet.UsedRange.Rows.Count '--- balayage lignes feuille courante
If Cells(kR, 1) <> "" Then '--- cellule non vide en colonne 1
If Cells(kR, 2) = "TOTAL" Then '--- "Total" en colonne 2
If WorksheetFunction.Sum(Range(Cells(kR, 3), Cells(kR, 29))) > 0 Then '--- cumul > 0
kRb = kRb + 1 '--- ligne suivante dans Bilan
Range(Cells(kR, 1), Cells(kR, 30)).Copy wsBilan.Cells(kRb, 1) '--- copie colonne 1 à 30 dans Bilan
End If
End If
End If
Next kR
End Sub |
Partager