VBA supprimer des ligne vide excel ;) [Résolu]

Messages postés
211
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
18 octobre 2010
- - Dernière réponse : lolpop
Messages postés
211
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
18 octobre 2010
- 20 juin 2006 à 18:21
rororo mais qui sais qui revient poster sur le forum, et oui c'est momo :D
je voudrai supprimer des lignes vides lorsque l'on lance un userform, j'ai fait le code suivant qui marche lorsqu'il y a une seule ligne vide d'affilé, si il y a deux ligne vide ça en supprime qu'une seul.
voila mon code :
Private Sub UserForm_Initialize()
Dim i, j As Long
i = 200
While Feuil1.Cells(i, 1) = ""
i = i - 1
Wend
MsgBox i


For j = 1 To i
If Feuil1.Cells(j, 1) = "" Then
Feuil1.Rows(j).Delete Shift:=xlUp
Else
End If
Next j
End Sub





Je comprend pourquoi ca ne marche pas mais je n'arrive pas a trouvé comment faire.
quand il y a 2 ligne vide , la premier est supprimer, et comme quand on supprime la seconde ligne vide remonte et que le j=j+1 ca passe au dessus.
si quelqu'un avais une idée :)
merci encore
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Salut,

Sinon ce que tu peux essayer c'est de commencer ta boucle par le bas comme ca tu n'auras plus le problème

for j = i to 1 Step -1

....

Next

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 216 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet
Messages postés
211
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
18 octobre 2010
3
Merci
merci bien a vous tous, je men sui tiré avec ceci :

j = 1
While j <= i
If Feuil1.Cells(j, 1) = "" Then
Feuil1.Rows(j).Delete Shift:=xlUp
i = i - 1
Else
j = j + 1
End If
Wend
End Sub

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 216 internautes nous ont dit merci ce mois-ci

Commenter la réponse de lolpop
Messages postés
61
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
14 septembre 2006
1
Merci
plus simple :

Range("A1:A200").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Commenter la réponse de cs_bipou
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
0
Merci
Salut,
Exemple
Ligne 26 Vide
Ligne 27 Vide
Ligne 28 Pas Vide

Lorsque tu supprime une ligne ex 26 la ligne 27 devient la ligne 26 et la 28 la 27 donc dans ta boucle tu as déja fait la ligne 26 donc tu passes à la 27 qui alors n'est pas vide

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Commenter la réponse de jrivet
Messages postés
211
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
18 octobre 2010
0
Merci
oui oui j'avais compris ca :)
mais le probleme c'est que je ne sais pas coment faire pour supprimer la seconde ligne vide, j'avais penser a mettre dans le if j=j-1 m   mais ca bug et ca boucle en continue.
Commenter la réponse de lolpop