emccbo
Messages postés1Date d'inscriptionmercredi 13 décembre 2000StatutMembreDernière intervention 9 septembre 2008
-
9 sept. 2008 à 11:28
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 2012
-
9 sept. 2008 à 12:30
Bonjour,
Je débute avec le vba d'excel et je souhaiterais supprimer les lignes antérieures a une date spécifiée dans un tableau. Voici ce que j'ai fait :
Sub Suppression_Lignes_Anterieures_Date()
Dim x As Long
x = 5 'mes données commencent à la ligne 5
Do Until x = 300 'mon tableau fait 300 lignes
If Cells(x, 4).Value < Cells(1, 2).Value Then
Rows(x).Delete
End If
Loop
End Sub
Le résultat est encourageant vu que ça supprime effectivement les premières lignes répondant au critère mais dés que j'arrive sur une ligne n'y répondant pas (donc que je souhaite conserver) il bloque sur le End If et ne traite pas les lignes suivantes.
Quelqu'un voit il d'où peut venir le problème ?
Merci de votre aide
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 9 sept. 2008 à 12:30
je me demande m)eme s' il ne faut pas incrémenter (ou décrémenter) sous la condition :
Do While x >4
If Cells(x, 4).Value < Cells(1, 2).Value Then
Rows(x).Delete
Else
x=x-1
End If
Loop
A voir donc quelle ligne sera active après suppression.Celle d' en haut ou celle du bas.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 9 sept. 2008 à 12:05
Bonjour,
Beh tu oublies d' incrémenter ton x !
Dim x As Long
x = 5 'mes données commencent à la ligne 5
Do Until x = 300 'mon tableau fait 300 lignes
If Cells(x, 4).Value < Cells(1, 2).Value Then
Rows(x).Delete
End If
x=x+1
Loop
s' agigeant de suppression, il vaut mieux commencer par le bas.
Dim x As Long
x = 300 'mes données commencent à la ligne 5
Do While x >4
If Cells(x, 4).Value < Cells(1, 2).Value Then
Rows(x).Delete
End If
x=x-1
Loop