Merci beaucoup pour ces informations.
Est-ce que cette interprétation est correcte:
Public Sub Menage()
Dim oSh As Worksheet
Dim iLigFin As Integer
Dim iColFin As Integer
Dim iLig As Integer
Dim iCol As Integer
Dim bValNegative As Boolean
Dim bFin As Boolean
Set oSh = Worksheets(1)
iLigFin = oSh.Range("I" & Rows.Count).End(xlUp).Row 'Selectionne les lignes de la feuille 1, de la colonne I et du nombre de ligne qu'il y a
iColFin = oSh.Range("ZZ1").End(xlToLeft).Column 'Sélectionne les colonnes de ces lignes jusqu'a ZZ1
If iLigFin = 2 Then ' si la ligne est la n°2 ne pas la prendre en compte
Exit Sub
End If
iLig = 3
bFin = False
' A partir de là je ne comprend plus trop
While Not bFin
If iLig = 29 Then
End If
bValNegative = False
For iCol = 1 To iColFin
If IsNumeric(oSh.Cells(iLig, iCol)) Then
If oSh.Cells(iLig, iCol) < 0 Then
bValNegative = True
Exit For
End If
End If
Next iCol
If Not bValNegative Then
oSh.Rows(iLig).Delete
iLigFin = iLigFin - 1
Else
iLig = iLig + 1
End If
If iLig > iLigFin Then
bFin = True
End If
Wend
Set oSh = Nothing
MsgBox "Terminé !", vbInformation
End Sub
Merci encore pour votre aide
Salutations
Amdora