Problème de macro : suppression de lignes

aminmrini

XLDnaute Nouveau
Bonjour,

Je galère depuis presque un jour sur une macro pourtant pas très compliquée. J'aurais donc bien besoin de votre aide...

En fait je dois supprimer des lignes d'un tableau EXCEL, selon deux conditions. grosso modo j'ai une colonne intitulée ORDER DATE, une autre REQUEST DATE. Pour chaque ligne :

-si la différence entre ces deux dates est supérieure à 3, je supprime les lignes pour lesquelles la REQUEST DATE moins la date d'aujourd'hui donne un résultat supérieur à deux. (ce qui revient à ne garder que les request date égales à demain ou après demain)

-si la différence entre l'order date et la request date est inférieure ou égale à 3, je supprime les lignes pour lesquelles la différence entre l'order date et aujourd'hui est inférieure ou égale à 1.

J'espère m'être exprimé clairement. Voilà ce que j'ai codé, et qui ne marche pas (le programme ne supprime pas toutes les lignes remplissant ces critères) :

(la colonne cinq correspond aux order date et la sept aux request date)


Sub xxx()
Dim diff As Long

For i = 2 To Worksheets(1).UsedRange.Rows.Count
diff = DateDiff("d", Cells(i, 7).Value, Cells(i, 5).Value)
Cells(i, 15).Value = diff

If diff <= -3 And DateDiff("d", Cells(i, 7).Value, Now) < -2 Then
Rows(i).Delete

Else:
If DateDiff("d", Cells(i, 5).Value, Now) < 1 Then
Rows(i).Delete

End If
End If


Next i
End Sub


Ce programme est surement super mauvais et j'espère pouvoir compter sur votre aide.

Merci d'avance
 

Discussions similaires

Réponses
6
Affichages
295
Réponses
7
Affichages
338

Statistiques des forums

Discussions
312 162
Messages
2 085 858
Membres
103 005
dernier inscrit
gilles.hery