Pbm dans une boucle
Résolu
ced
-
ced -
ced -
Bonjour,
Je cherche à creer une macro qui va supprimer les lignes pour lesquelles la 1ere colonne est vide. Le pbm est que si j'ai 2 lignes vides consécutives, la boucle va sauter la 2eme (à cause l'iteration de i)
est il utile de préciser que je ne suis pas programmeur ? :)
Sub cleanup()
endrow = Cells(1, 3).CurrentRegion.Rows.Count
For i = 2 To endrow
If Cells(i, 1) = "" Then
Rows(i).Select
Selection.Delete Shift:=xlUp
Else
End If
Next
End Sub
Merci d'avance pr vos coup de pouce!
Je cherche à creer une macro qui va supprimer les lignes pour lesquelles la 1ere colonne est vide. Le pbm est que si j'ai 2 lignes vides consécutives, la boucle va sauter la 2eme (à cause l'iteration de i)
est il utile de préciser que je ne suis pas programmeur ? :)
Sub cleanup()
endrow = Cells(1, 3).CurrentRegion.Rows.Count
For i = 2 To endrow
If Cells(i, 1) = "" Then
Rows(i).Select
Selection.Delete Shift:=xlUp
Else
End If
Next
End Sub
Merci d'avance pr vos coup de pouce!
A voir également:
- Pbm dans une boucle
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
3 réponses
Bonsoir,
Sub cleanup()
endrow = Cells(1, 3).CurrentRegion.Rows.Count
For i = 2 To endrow
If Cells(i, 1) = "" Then
Rows(i).Select
Selection.Delete Shift:=xlUp
i = i - 1
endrow = endrow - 1
Else
End If
Next
End Sub
Sub cleanup()
endrow = Cells(1, 3).CurrentRegion.Rows.Count
For i = 2 To endrow
If Cells(i, 1) = "" Then
Rows(i).Select
Selection.Delete Shift:=xlUp
i = i - 1
endrow = endrow - 1
Else
End If
Next
End Sub
hey ça marche ! Merci pour votre aide, genial!
Sub Macro13()
Sheets("test").Select
endrow = Cells(1, 3).CurrentRegion.Rows.Count
For i = 2 To endrow
If endrow < i Then Exit For Else
If Cells(i, 1) = "" Then
Rows(i).Select
Selection.Delete Shift:=xlUp
endrow = endrow - 1
i = i - 1
Else
End If
Next
End Sub
Sub Macro13()
Sheets("test").Select
endrow = Cells(1, 3).CurrentRegion.Rows.Count
For i = 2 To endrow
If endrow < i Then Exit For Else
If Cells(i, 1) = "" Then
Rows(i).Select
Selection.Delete Shift:=xlUp
endrow = endrow - 1
i = i - 1
Else
End If
Next
End Sub
par conter, on peut virer le Else qui ne sert à rien ..