Copier/coller des lignes sous condition sans lignes vides
Bonjour,
Je profite de la renommée de ce site pour chercher une réponse à ma question.
Voilà j'ai une extraction SAP brute. J'ai créé une macro qui selon le cost center copie/Colle les lignes de l'extraction SAP vers un onglet (un onglet par cost center).
"SAP" est ma feuille d'extraction qui contient les données à répartir dans divers onglets. Ma condition " cost center" se trouve en Colonne B.
La macro tourne bien mais mon problèm est que les lignes se collent sur le même numéro de ligne que l'onglet SAP. Du coup je me retrouve avec des onglets où la 1ère ligne se trouve en A625!!
POurriez-vous m'aider à suprpimer ces lignes vides svp?
Merci beaucoup par avance.
Voici la code
Sub Button3_Click()
Dim i As Long
Dim KindOfUpdate As String
KindOfUpdate = MsgBox("Do you want to update file?", vbYesNo, "Update")
If KindOfUpdate = 6 Then
Worksheets("SAP").Activate
For i = 2 To 10000
If Cells(i, 2) = "CostCenter1" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter1").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ElseIf Cells(i, 2) = "CostCenter2" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter2").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ElseIf Cells(i, 2) = "CostCenter3" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter3").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ElseIf Cells(i, 2) = "CostCenter4" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter4").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ElseIf Cells(i, 2) = "CostCenter5" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter5").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ElseIf Cells(i, 2) = "CostCenter6" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter6").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ElseIf Cells(i, 2) = "CostCenter7" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter7").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ElseIf Cells(i, 2) = "CostCenter8" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter8").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ElseIf Cells(i, 2) = "CostCenter9" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter9").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ElseIf Cells(i, 2) = "CostCenter10" Then
Worksheets("SAP").Range("A" & i & ":N" & i).Copy
Sheets("CostCenter10").Range("C" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
Next i
End If
End SubMerci beaucoup
Bonjour et bienvenue
Merci de joindre un extrait de ton fichier.
Amicalement
Nad
Bonjour
A essayer
Sub Button3_Click()
Dim i As Long
If MsgBox("Do you want to update file?", vbYesNo, "Update") = 6 Then
With Worksheets("SAP")
For i = 2 To .Range("B65536").End(xlUp).Row
.Range("A" & i & ":N" & i).Copy
With Sheets(.Cells(i, 2).Value)
.Range("C" & .Range("C65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End With
Next i
End With
Application.CutCopyMode = False
End If
End Sub