Macro supprimer lignes selon valeur cellules dans une colonne

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour,

Il y a déjà quelques temps, un gentil « super en VBA » m’a passé cette macro qui permet de supprimer des lignes selon besoin :

Sub MainPROC()
Dim lignes As Range, MSerr&
Application.DisplayAlerts = False
Set lignes = Application.InputBox _
(Prompt:="selectionner les lignes à supprimer ", _
Title:="Suppression de ligne (Selection)", _
Type:=8)
suplig lignes.Address, "SM (2)"
End Sub
_________________________________________________
Private Sub suplig(lignes$, ParamArray tf() As Variant)
Dim i As Byte
For i = 0 To UBound(tf)
With Sheets(tf(i))
.Unprotect
.Range(lignes).EntireRow.Clear 'delete =supprime
'Clear = efface
End With
Next i
End Sub



Je vous la transmets qui sait, elle pourrait être utile à qui ne sait pas faire (comme moi).

J’ai une question à poser et bien sûr, j’ai besoin de votre aide.

A partir de cette macro, est-il possible de la modifier pour que soient supprimées les lignes en fonction des cellules vides dans une même colonne ?
(c'est-à-dire, les cellules de la colonne G (par exemple)), à partir du moment où la macro rencontre des cellules vides, elle supprimes les lignes correspondantes)

Est-il possible que la suppression des lignes soit automatique (sans que la macro me demande de sélectionner les lignes à supprimer ?

Merci de votre aide,
Amicalement,
Lionel,
 

Robert

XLDnaute Barbatruc
Re : Macro supprimer lignes selon valeur cellules dans une colonne

Bonjour Arthour, bonjour le forum

G étant la 7 colonne tu peux faire comme ça :

Code:
Sub Macro1()
Columns(7).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro supprimer lignes selon valeur cellules dans une colonne

Bonjour Robert,
Merci pour cette réponse si rapide.
Bon sang ! ça à l'air si simple et ça marche !!!
Cela ne diminue pas mon GRAND MERCI.
J'espère que d'autres en profiteront.
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro supprimer lignes selon valeur cellules dans une colonne

Si ce n'est pas trop abuser .... en aurais-tu une pour supprimer les colonnes vides ?
LOL
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro supprimer lignes selon valeur cellules dans une colonne

Si ce n'est pas trop abuser .... en aurais-tu une pour supprimer les colonnes vides ?
J'ai trois lignes de "titres", donc la recherche est à faire à partir de la ligne 4
LOL
Amicalement,
Lionel,
 

Robert

XLDnaute Barbatruc
Re : Macro supprimer lignes selon valeur cellules dans une colonne

Bonjour Lionel, bonjour le forum,

Non testé. Ligne à adapter... Ici c'est pour la ligne 1.

Code:
Sub Macro1()
Rows(1).SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro supprimer lignes selon valeur cellules dans une colonne

Bonjour Robert,
Super, ça marche, il suffit de modifier le n° de ligne et c'est bon.
Encore Grand Merci !
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro supprimer lignes selon valeur cellules dans une colonne

Bonjour Robert,
Bonjour à tous,

Je n'y comprends rien ... j'ai encore besoin de ton aide.
Le code que tu m'avais transmis a fonctionné :

Sub Macro1()
Columns(7).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

et puis .....

J'ai modifié le numéro de colonne, j'y ai mis 13 correspondant à M et quand je lance la macro rien ne se passe sauf un message d'erreur : erreur 1004 pas de cellule correspondante.

Dans mon classeur test, je voudrais qu'il ne me garde que les lignes 1 à 9

Bonne fin de dimanche et merci encore de ta gentillesse.

Amicalement,
Lionel,
 

Fichiers joints

Robert

XLDnaute Barbatruc
Re : Macro supprimer lignes selon valeur cellules dans une colonne

Bonsoir Lionel, bonsoir le forum,

En effet s'il n'y a pas de cellules vides ça plante... Faut remplacer par :
Code:
Sub Lignes()
Sheets("Recap").Select
ActiveSheet.Unprotect
On Error Resume Next
Columns(13).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Attention ça ne marche pas non plus si la cellulke vaut 0, car elle n'est pas vide...
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas