pegou
Messages postés13Date d'inscriptionjeudi 3 janvier 2008StatutMembreDernière intervention17 juillet 2008
-
1 juil. 2008 à 08:00
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
2 juil. 2008 à 11:18
bonjour,
j'ai une petite boucle qui fonctionne mais pas parfaite en terme de programmation
pouvez vous me dire ce que vous en pensez
Range("B1").Select
y = 1
Do
20 If Cells(y, 2).Value = "A" Then GoTo 10
Cells(y, 2).Select
Rows(ActiveCell.Row).Select
Selection.Delete
GoTo 20
10 y = y + 1
Loop Until Cells(y, 2) = ""
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 1 juil. 2008 à 08:48
salut,
plus rapide :
Dim oRange as range
for each oRange in Range("B1:B" & Range("B1").End(xlDown).Row)
If oRange.Value <> "A" then Rows(oRange.Row).Delete
next oRange
~
<small>Mortalino ~ [code.aspx?ID=39466 Colorisation
automatique]</small>
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 2 juil. 2008 à 11:18
Exact, vu qu'il y a suppression de lignes, il faut partir d'en bas et remonter :
Dim i As Integer
For i = Range("B1").End(xlDown).Row To 1 Step -1
If Cells(i, 2).Value <> "A" Then Rows(i).Delete
Next i
~
<small>Mortalino ~ [code.aspx?ID=39466 Colorisation
automatique]</small>