Programmation d'un macro sous excel

Bonjour, j'ai un problème avec la programmation d'un macro, le voici :

Sub Macro2()

End Sub
Dim I As Long
Dim Plage As Range
Set Plage = Range("M5:M" & Range("M5").End(xlDown).Row)
For I = Plage.Cells.Count To 1 Step -1
If Plage.Cells(I).Value = 0 Then
Plage.Cells(I).EntireRow.Delete
End If
Next

End Sub

L'objectif est d'effacer toutes les lignes dans lesquelles la rangée "M" affiche une valeur de 0, pour l'instant cela fonctionne jusqu'à ce qu'une ligne affiche une valeur différente de 0, alors le macro s'arrête.

Merci
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. Bonjour,

    suggestion :

    Sub Nettoyage()
    
        Dim I As Long, Limite As Long
        
        Range("M5").Select
        Limite = Range("M5:M65535").End(xlDown).Row
    
        For I = 0 To Limite
            If (ActiveCell.Offset(I, 0).Value = 0) Then
                ActiveCell.Offset(I, 0).EntireRow.Delete
            End If
        Next
    
    End Sub
    '
    

    Lupin
    1. oups :

      Sub Nettoyage()
      
          Dim I As Long, Limite As Long
          
          Range("M5").Select
          Limite = Range("M5:M65535").End(xlDown).Row
      
          For I = 0 To Limite
              If (ActiveCell.Offset(I, 0).Value = 0) Then
                  ActiveCell.Offset(I, 0).EntireRow.Delete
                  Limite = (Limite - 1)
              End If
          Next
      
      End Sub
      '
      
      1. Bonsoir JP,

        J'ai testé ton code, il marche parfaitement.
        Toutefois, essaies le code modifié ci-dessous :

        Sub Macro2()
        Dim I As Long
        Dim Plage As Range
        Set Plage = Range(Cells(5, 13), Cells(ActiveSheet.UsedRange.Rows.Count, 13))
        For I = Plage.Cells.Count To 1 Step -1
        If Plage.Cells(I).Value = 0 Then
        Plage.Cells(I).EntireRow.Delete
        End If
        Next
        End sub


        Cordialement.

        Papou
        1. svp je vous realiser un programme pour tracer un histogramme et pour le test de henrysous excel