Supprimer une ligne si une cellule est vide

M

Maximom

Guest
Bonjour,
toujours sur mon tableau d'environ 10 colonnes, je me retrouve avec des cellules vides,
Avez vous une solution pour effacer les lignes, ou il y a n'importe quelle cellule vide?
Merci
 

porcinet82

XLDnaute Barbatruc
Salut Maximom,

Une petite solution avec For each, je te laisse le soins de modifier la plage d'execution de la macro : Range('A1:J15') pour qu'elle corresponde a ton tableau.

Code:
Sub supp()
Dim Cel_vide As Range
Dim ad_cel As Byte

    For Each Cel_vide In Range('A1:J15')
        If Cel_vide.Value = '' Then
            ad_cel = Cel_vide.Row
            Rows(ad_cel).Delete
        End If
    Next Cel_vide
End Sub

@+
 

Dan

XLDnaute Barbatruc
Bonjour,

Clique sur ce lien --> Lien supprimé (code à adapter)

Sinon en haut de cette fenêtre, tu as une rubrique 'rechercher'. Là, tape 'supprimer ligne' ou 'lignes vides' et cela te retournera pas mal de fils à ce sujet.

;)

Message édité par: Dan, à: 13/01/2006 13:31
 
M

Maximom

Guest
Merci pour vos réponses,
en fait, j'avais bien trouvé ceci, mais je ne sais pas pourquoi , cela ne fonctionne pas:

Public Sub MEPTab()
Dim i As Integer
For i = Range('a65536').End(xlUp).Row To 4 Step -1
If Cells(i, 1) = '' then
Rows(i).Delete
End If
Next i
End Sub

En fait les macro, c'est tout nouveau pour moi, et je comprends que pour certains d'entre vous, certaines questions paraissent vraiment simplistes!
Du coup je préfère demander un code complet, car j'ai beaucoup de mal à le modifier...
:huh:

Sinon, Porcinet82, ton code fonctionne, mais il s'arrête après avoir supprimer une occurrence!
Meci encore
 

porcinet82

XLDnaute Barbatruc
re Maximom, salut Dan,

La macro que je t'ai proposé ne fonctionne pas ? Ca m'étonne, je l'ai testé et elle fonctionnait chez moi !!! Je t'ai fait la modif pour qu'elle fonctionne sur ton tableau, essaye et ca devrait fonctionner cette fois.

Code:
Sub supp()
Dim Cel_vide As Range
Dim ad_cel As Byte

    For Each Cel_vide In Range('A1:G12000')
        If Cel_vide.Value = '' Then
            ad_cel = Cel_vide.Row
            Rows(ad_cel).Delete
        End If
    Next Cel_vide
End Sub

@+
 
M

Maximom

Guest
Eureka !!


Suppression de ligne qui contiennent des cellules vides:

Sub supp()
Dim Cel_vide As Range
Dim ad_cel As Integer

For Each Cel_vide In Range('A1:G11000')
If Cel_vide.Value = '' Then
ad_cel = Cel_vide.Row
Rows(ad_cel).Delete
End If
Next Cel_vide
End Sub

Mille Mercis tu m'enleves une épine du doigt! ;)
 

Discussions similaires

Réponses
4
Affichages
218