Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

Dan

XLDnaute Barbatruc
Maximom,

ton code serait valable pour les cellules vides dans la colonne A.
Donc la question est de savoir dans quelle plage tu veux supprimer les cellules vides.

Peux-tu la donner ?

 

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

@+
 

porcinet82

XLDnaute Barbatruc
Ouai je sais pourquoi, si Pascal76 passe sur ce fil, je vais me faire chambrer, la meme boulette 2 fois dans la meme journée, faut pas exagérer.

Remplace cette ligne
Code:
Dim ad_cel As Byte

par celle-ci
Code:
Dim ad_cel As Integer

@+
 
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
239
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…