Formule VBA

Résolu/Fermé
Momosenpai Messages postés 24 Date d'inscription lundi 17 mars 2014 Statut Membre Dernière intervention 24 juillet 2014 - 3 avril 2014 à 10:49
Momosenpai Messages postés 24 Date d'inscription lundi 17 mars 2014 Statut Membre Dernière intervention 24 juillet 2014 - 3 avril 2014 à 11:17
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

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
3 avril 2014 à 11:11
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
Momosenpai Messages postés 24 Date d'inscription lundi 17 mars 2014 Statut Membre Dernière intervention 24 juillet 2014
3 avril 2014 à 11:16
parfait ! bien pensé pour la formule de la somme :)
Merci beaucoup
0
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
Momosenpai Messages postés 24 Date d'inscription lundi 17 mars 2014 Statut Membre Dernière intervention 24 juillet 2014
3 avril 2014 à 11:17
Merci !!!
0