Supprimer une ligne entière quand la colonne H est non vide

Bonjour,

Je souhaite supprimer la ligne entière lorsque la colonne H indique une date de sortie.

Le problème, je crois, c'est que le tableau a été généré initialement en .xml et copié dans un .xlsx. Du coup, même quand je change le format, les cellules vides sont vuescomme non vides.

Quand je fais "Atteindre" / "Cellule" / constantes et texte j'arrive à sélectionner les cellules vides.

Quand je sélectionne à la main les "cellules vides" et que je fais suppr, là elles deviennent vides.

Pourriez vous m'expliquer pourquoi et quelle modification apporter pour parvenir à mon but? (dans le tableau, la macro...)

Par avance merci

Sub Macro1()
On Error Resume Next
Worksheets("Sheet1").Range("H4:H3600").SpecialCells(2).EntireRow.Delete
End Sub
10basett.xlsx (172.28 Ko)

Bonjour,

Un test

7basett.xlsm (177.75 Ko)

Bonjour et Merci M12,

Chez moi quand je clic sur le bouton ça reproduit des dates partout. Je crois que ça ne fonctionne pas.

Le bouton devra être sur une autre feuille.

Pourquoi les cellules vides ne sont pas vide?

Merci

Re,

D'après ta demande et de que j'ai compris, tu veux supprimer les lignes si les cellules de la colonne H sont vident

Sinon, précise un peu plus

Autant pour moi, c'est les non-vides que tu veut supprimer

9basett.xlsm (177.77 Ko)

Bonjour à tous!

Voici un petit code à adapter à ton fichier

Sub test()
derlg = Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To derlg
If Cells(i, 8) = "" Then
Rows(i).EntireRow.Delete
End If
Next i
End Sub

Bonne soirée !

Bonsoir à tous !

Désolé j'avais inversé ta demande

Encore mieux avec ceci

Sub Test()
Dim i As Integer
derlg = Range("H" & Rows.Count).End(xlUp).Row
For i = derlg To 1 Step -1
If Cells(i, 8) <> "" Then
Rows(i).EntireRow.Delete
End If
Next i
End Sub

Bonne soirée !

Bonjour M12,

J'ai crée un bouton sur une autre feuille, auquel j'ai affecté cette macro

Sub Suppr()
    Dim n%, i%
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    With Worksheets("Import")
        n = .Range("H" & .Rows.Count).End(xlUp).Row
          For i = n To 4 Step -1
              If Range("H" & i) <> "" Then .Range("H" & i).EntireRow.Delete
          Next i
    End With
    Application.Calculation = xlCalculationManual
End Sub

Mais j'ai ce message d'erreur (les macros sont bien activée) Je ne sais pas pourquoi

image
Sub Suppr()
    Dim n%, i%
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    With Worksheets("Import")
        n = .Range("H" & .Rows.Count).End(xlUp).Row
          For i = n To 4 Step -1
              If .Range("H" & i) <> "" Then .Range("H" & i).EntireRow.Delete
          Next i
    End With
    Application.Calculation = xlCalculationManual
End Sub

Bonjour, tu as omis un "." à ton Range("H" & i) <> "" Then .Range("H" & i).EntireRow.Delete

Bonsoir M12,

Juste pour information et si d'autres tombent sur ce poste et en ont besoin (chose que moi je fais souvent), j'ai modifié la derniere instruction Application.Calculation = xlCalculationManual en Application.Calculation = xlCalculationAutomatic parceque sinon j'avais ceci.

image

Je testerai demain mais je sent que ça va mieux aller ;-)

Merci encore M12

Rechercher des sujets similaires à "supprimer ligne entiere quand colonne vide"