Bonjour Laurent, Phibou, le forum
excellente solution rapide, Laurent.
Un petit bémol cependant, elle est à réserver aux tableaux sans formules et sans formats différenciés car seules les valeurs sont transférées, à part cela c'est pas mal, je connaissais pas usedrange qui impose quand même une contrainte pour l'utiliser en tableau, il faut au moins une valeur quelconque dans la colonne A et dans une colonne >= à D (suppression si Dn=519, voir énoncé).
pour ton nombre de colonnes tu peux faire:
ActiveSheet.UsedRange.Columns.Count
pour ma part voici un code utilisant un tableau de valeur pour les comparaisons mais supprimant effectivement les lignes, c'est plus rapide que mes précédents codes et préserve formats et formules.
Cordialement, A+
Sub Supprimer_Lignes4()
Dim Tab_Cells As Variant, Tab_Row() As String
Dim Deb_Tab As Long, Compteur As Long, Compteur2 As Long
Application.ScreenUpdating = False
Tab_Cells = ActiveSheet.Range("A1😀" & Range("A1").SpecialCells(xlCellTypeLastCell).Row).Value
Compteur = 0
For Compteur2 = 1 To UBound(Tab_Cells)
If Tab_Cells(Compteur2, 1) = "PCI Dump" Or Tab_Cells(Compteur2, 4) = "519" Then
Compteur = Compteur + 1
ReDim Preserve Tab_Row(1 To Compteur) As String
Tab_Row(Compteur) = (Compteur2) & ":" & (Compteur2)
End If
Next Compteur2
For Compteur2 = Compteur To 1 Step -1
Range(Tab_Row(Compteur2)).Delete Shift:=xlUp
Next Compteur2
MsgBox "fini"
End Sub