Supprimer ligne si une cellule est vide

koikili

XLDnaute Junior
bonsoir à tous,
je veux modifier le code que j'ai dans le fichier ci-joint comme ceci

dans la feuille ODA MENS si une cellule de la collone H du tableau est vide alors supprimer la ligne

la même chose pour l'onglet ODA HOR

est ce que quelqu'un peut m'aider s'il vous plait

Merci d'avance
 

Pièces jointes

  • 1.jpg
    1.jpg
    217.1 KB · Affichages: 74
  • 2.jpg
    2.jpg
    213.9 KB · Affichages: 53
  • ODA Mens-HOR & DS.xlsm
    388.7 KB · Affichages: 59
Dernière édition:

gosselien

XLDnaute Barbatruc
Juste !!! bien vu :)
Mes verres de lunettes sont sales ou inadaptés :)
Mais on garde ou pas les doublons ?
La question du post est "lister sans doublons" :)
et..la colonne H de la feuille ODA HOR n'est pas vide mais contient des #N/A ...

Donc, la question est mal posée non ?

P.
 

Staple1600

XLDnaute Barbatruc
Bonjour à tous

On peut se passer de VBA comme expliqué dans les lignes vertes ;)
Mais bon autant revenir sur XLD avec superfétation en option pas Explicit ;)

VB:
Sub abc()
'macro abc pour créér des données de test
'Donc à lancer avant de tester les macros de suppressions des vides
Range("H1") = "ABC1": Range("H2") = Empty
Range("H1:H2").AutoFill Destination:=Range("H1:H1600"), Type:=xlFillDefault
End Sub

Sub Macro1_LaClassique()
' Staple1600
'équivalent VBA de la manip manuelle ci-dessous
'1) Sélection colonne H -> touche F5 -> Cellules vides -> OK
Columns("H:H").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Private Sub Macro1_LaVariante_I()
' Staple1600
Columns("H:H").SpecialCells(4).EntireRow.Delete
End Sub
Private Sub Macro1_LaVariante_II_totalement_Dispensable()
' Staple1600
    With Range("I1").Resize(1599 + 1)
        .FormulaR1C1 = "=CHAR((LEN(RC[-1])>0)+57)*1"
        .SpecialCells(xlCellTypeFormulas, 1).EntireRow.Delete
        .EntireColumn.Delete
    End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 529
dernier inscrit
moket07