Bonjour à tous,
Je cherche à optimiser ma macro que j'ai découpé en 3.
Mon objectif est de copier/coller chaque ligne d'une feuille en fonction d'une condition.
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub test() Worksheets(Sheets.Count).Copy Before:=Sheets(1) Range("A5").Copy Range("A3") Call test2 Sheets(1).Delete End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub test2() Dim i As Long, j As Long Sheets.Add After:=Worksheets(Sheets.Count) Sheets(1).Select With Sheets(1).Range("A1", "AJ4") .Copy Destination:=Worksheets(Sheets.Count).Cells(1, 1) End With j = 5 For i = 5 To Range("A" & Rows.Count).End(xlUp).Row If Cells(i, 1) = Range("A3") Then Range("A" & CStr(i), "AJ" & CStr(i)).Cut Destination:=Worksheets(Sheets.Count).Cells(j, 1) j = j + 1 End If Next i Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete Call test3 End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub test3() Range("A5").Copy Range("A3") If Range("A3").Value = "" Then MsgBox ("Traitement terminé.") If Range("A3").Value <> "" Then Call test2 End Sub
Partager