Re : Supprimer des lignes sous condition
Salut Boby, Jacques 🙂
J'ai repris la dernière version de la macro que tu proposais Boby et j'ai rajouter quelques morceaux sans avoir tester.
Sub cleaner()
Dim I As Integer
Dim code As String, debut1 As String, debut2 As String
Application.ScreenUpdating = False
For I = Range("A65536").End(xlUp).Row To 2 Step -1
Select Case Left(Cells(I, 8).Value, 2)
Case "BE", "DE", "ES", "FR", "HU", "IT", "NO", "SE", "US"
Rows(I).Delete Shift:=xlUp
End Select
Select Case Left(Cells(I, 8).Value, 7)
Case "XSDUMMY"
Rows(I).Delete Shift:=xlUp
End Select
'colonne W: supprimer toutes les lignes dont les cellules ne contiennent pas "UNM" ou "ICMO" conserver les cellules vides
Select Case Left(Cells(I, 23).Value, 25)
Case "E - DONE", "E - INT - FUT", "E - INT - FUT - EXT - MAT", "Filtered", "Stamina - Filtered", "E - GENR"
Rows(I).Delete Shift:=xlUp
End Select
Next I
'trier par ordre croissant les colonnes N puis O
Selection.Sort Key1:=Range("N2"), Order1:=xlAscending, Key2:=Range("O2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
'sauter trois lignes entières quand dans la colonnes N on passe de "C" à "E" et de "E" à "X"
For I = 2 To Range("A65536").End(xlUp).Row
If Cells(I, 14).Value = "C" And Cells(I + 1, 14).Value = "E" Then Rows(I + 1 & ":" & I + 3).Insert Shift:=xlDown
If Cells(I, 14).Value = "E" And Cells(I + 1, 14).Value = "X" Then Rows(I + 1 & ":" & I + 3).Insert Shift:=xlDown
If Cells(I, 14).Value = "E" And IsEmpty(Cells(I + 1, 14)) = True Then Rows(I + 1 & ":" & I + 3).Insert Shift:=xlDown
If Cells(I, 14).Value = "X" And IsEmpty(Cells(I + 1, 14)) = True Then Rows(I + 1 & ":" & I + 3).Insert Shift:=xlDown
Next I
Columns("J:L").NumberFormat = "#,##0.00 _€"
Windows.Arrange ArrangeStyle:=xlHorizontal
Application.ScreenUpdating = True
With Cells
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Interior.ColorIndex = 2
End With
ActiveWindow.Zoom = 80
Cells.Select
Cells.EntireColumn.AutoFit
'je souhaiterai avoir la premiere ligne en gras, largeur de ligne 30,
'couleur remplissage Turquoise clair, ombre portee style 6
With Rows("1:1")
.Font.Bold = True
.RowHeight = 30
.Interior.ColorIndex = 34
End With
End Sub
Par contre je ne sais pas ce qu'est ombre portee style 6, mais un conseil, utilise l'enregistreur de macro, ca rends pas mal de service.
@+