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
 

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,
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,
 

Pièces jointes

  • Test.xlsm
    218.6 KB · Affichages: 80
  • Test.xlsm
    218.6 KB · Affichages: 86
  • Test.xlsm
    218.6 KB · Affichages: 79

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...
 

Discussions similaires

Haut Bas