Formule VBA

Résolu
Momosenpai Messages postés 24 Statut Membre -  
Momosenpai Messages postés 24 Statut Membre -
Bonjour ,

Voici mon problème :

J'ai essayé de faire un code VBA qui me supprime les lignes d'un tableau quand une plage (A2, AA2)par exemple de cette même ligne ne contient aucun numéro .

Sub Test()

Dligne = Range("A" & Rows.Count).End(xlUp).Row

For i = 5 To Dligne ' mon tableau commence a partir de la ligne 5

If Cells(i, 2).Value = 0 And Cells(i, 3).Value = 0 And Cells(i, 4).Value = 0 ' allant jusqu'a 27 Then

Rows(i).Delete

End If

Next i

End Sub

Y'a t il un moyen d'améliorer cette formule ? Merci

Voici un exemple

https://www.cjoint.com/?DDdkVZqBLsM

merci d'avance

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    essaies ceci

    Option Explicit
    Sub Test()
    Dim Dligne As Integer, Lig As Integer

    Application.ScreenUpdating = False
    Dligne = Range("A" & Rows.Count).End(xlUp).Row
    For Lig = Dligne To 5 Step -1
    If Application.Sum(Range(Cells(Lig, 2), Cells(Lig, 27))) = 0 Then Rows(Lig).Delete
    Next

    End Sub

    1
    1. Momosenpai Messages postés 24 Statut Membre
       
      parfait ! bien pensé pour la formule de la somme :)
      Merci beaucoup
      0
  2. foo
     
    Bonjour

    Pour effacer les ligne on commence par la fin

    Sub Test()
    Dligne = Range("A" & Rows.Count).End(xlUp).Row
    For I = Dligne To 5 Step -1
    If Cells(I, 2).Value = "" And Cells(I, 3).Value = 0 And Cells(I, 4).Value = "" Then
    Rows(I).Delete
    End If
    Next
    End Sub

    A+
    Maurice
    0
    1. Momosenpai Messages postés 24 Statut Membre
       
      Merci !!!
      0