supprimer des lignes en fonction d'une valeure située sur la 5 eme col - VB/VBA/VBS - Programmation
Marsh Posté le 19-05-2011 à 13:16:32
A mon sens ca vient du fait que quand tu supprimes la ieme ligne il retombe dessus.
si je comprends bien tu as une zone en haut et tu veux supprimer les lignes de cette zone qui ont le meme valeur que la derniere.
Essaie de faire ca
h= cells(Cells(1,5).end(xlup).row,5).value 'on stocke la valeur plutot que la position, qui change
g = cells(1,5).currentregion.rows.count
i=1
Do
if cells(i,5).value = h then
rows(i).delete
g=g-1 'la fin est moins loin d'une valeur du coup
i=i-1 'sinon je raterai une case
Endif
I=i+1 ' incrementation classique
Loop while (i<g) 'tant qu'on est pas arrive a la fin.
Tu en penses quoi ? (depuis mon iPhone je peux pas tester)
Marsh Posté le 19-05-2011 à 14:00:07
C501 a écrit : A mon sens ca vient du fait que quand tu supprimes la ieme ligne il retombe dessus. |
J'ai changé end(xlup) par end(xldown) et ca marche nikel!!! merci beaucoup !!
Marsh Posté le 19-05-2011 à 12:06:19
--------------------------------------------------------------------------------
Bonjour voici le problème,
J'aimerai supprimer des lignes en fonction d'une valeure située sur la 5 eme colonne derniere ligne.
J'ai crée une boucle mais cela ne supprime qu'une ligne (la derniere)
Pouvez vous m'aidez?
merci d'avance.
mon code:
h = Cells(1, 5).End(xlDown).Row
For i = Cells(1, 5).CurrentRegion.Rows.Count To 1 Step -1
If Cells(i, 5).Value = Cells(h, 5).Value Then Cells(i, 5).EntireRow.Delete
Next