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

XL 2010 supprimer ligne vide

MASSJIPE

XLDnaute Impliqué
Bonjour le forum
Est il possible de supprimer les lignes vide et autre voir fichier les lignes à supprimer sont repérer de couleur verte à savoir le tableau varie au fil de l'eau
merci
 

Pièces jointes

  • ligne vide.xlsm
    25.2 KB · Affichages: 66

Chris401

XLDnaute Accro
Bonjour

Essaye ce code
VB:
Sub SupprimeLignes()
Dim deb As Integer, fin As Integer, i As Integer

deb = Range("F1").End(xlDown).Row - 1
fin = Range("B" & Rows.Count).End(xlUp).Row

Rows("1" & ":" & deb).Delete

For i = Range("B" & fin).Row To 3 Step -1
    If (IsNumeric(Range("C" & i)) And Range("C" & i) <> "") = False Then Rows(i).Delete
Next i

End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour à tous

MASS JIPE
Il y a des cellules mises en vert et qui ne sont pas vides.
exemple
B2
B4:B11

Quel est le critère exacte pour supprimer la ligne
Les cellule de A à F d'une ligne doivent être vides?
Les cellules B et C d'une ligne doivent être vides?

Cette macro fonctionne si au préalable, on convertit Tableau1 en plage
VB:
Sub a()
Dim i&, DL&
Application.ScreenUpdating = False
DL = Cells(Rows.Count, "B").End(xlUp).Row
For i = 1 To DL
If Application.CountBlank(Cells(i, "A").Resize(, 6)) = 6 Then
Cells(i, "H") = "X"
End If
Next
Columns("H:H").SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete
End Sub

EDITION: Une variante sans boucle.
VB:
Sub b()
Dim DL&
Application.ScreenUpdating = False: DL = Cells(Rows.Count, "B").End(xlUp).Row
Range("H1:H" & DL).FormulaR1C1 = "=REPT(22,COUNTBLANK(RC[-7]:RC[-2])=6)*1"
Columns(8).SpecialCells(-4123, 1).EntireRow.Delete: Columns(8).Delete
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Re à tous
MASS JIPE
Tu as essayé mes macros?
Et quel est ta réponse à mes questions concernant tes critères du suppression ?
Peux-tu prendre le temps de répondre à mes questions, stp ?
Bonjour à tous
MASS JIPE
Quel est le critère exacte pour supprimer la ligne
Les cellule de A à F d'une ligne doivent être vides?
Les cellules B et C d'une ligne doivent être vides?
 

MASSJIPE

XLDnaute Impliqué
Re
Oui mais problème de plage (cellules fusionnés)
le fichier est un export de BO ensuite j'importe toute la feuille dans le classeur VIDES.xlsm pas de tableau en plage
C'est de supprimer toutes les lignes vides pour exemple les cellules verte et ca jusqu'à la dernière ligne
Merci
 

Pièces jointes

  • VIDES.xlsm
    306.3 KB · Affichages: 46

Staple1600

XLDnaute Barbatruc
Re

MASSJIPE
Si on regarde ton fichier*
La cellule B3 n'est pas vide, elle contient 0000 - AUDIT
or la ligne 3 est en vert alors qu'elle n'est pas vide

Donc on ne devrait pas la supprimer, non ?
Alors merci de répondre précisément à cette question !!!
la ligne doit être entièrement vide ?
ou seulement les cellules d'une ligne qui va de la colonne A à la colonne K ?
 

Chris401

XLDnaute Accro
Bonjour

Vu le nombre de lignes, essaye ce code
VB:
Sub SupprimeLignes()
Application.ScreenUpdating = False
Dim deb As Integer, fin As Long

deb = Range("K1").End(xlDown).Row - 1
fin = Range("C" & Rows.Count).End(xlUp).Row

Rows("1" & ":" & deb).Delete

Range("L2:L" & fin).FormulaR1C1 = "=IF(ISNUMBER(RC[-4]),"""",""X"")"
Range("L2:L" & fin) = Range("L2:L" & fin).Value

Columns("L:L").SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete

End Sub
 

Staple1600

XLDnaute Barbatruc
Re , Bonjour Chris401

MASSJIPE
La dernière macro de Chris401 reprend peu ou prou la syntaxe que je te proposais dès le message#3
Est-ce à dire que tu n'avais pas testé ma proposition... ?

Je donc réactualise ma macro du message#3 à lecture de la relecture de mon code par Chris401.
VB:
Sub mC()
Dim DL&
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
DL = Cells(Rows.Count, "C").End(xlUp).Row
With Range("M1:M" & DL)
    .Value = "=IF(COUNTBLANK(RC[-12]:RC[-2])=11,""$$$"",0)"
    .Value = .Value
End With
Columns(13).SpecialCells(2, 2).EntireRow.Delete
Columns(13).Delete
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

EDITION : Bonjour 00
 
Dernière édition:

Discussions similaires

Réponses
9
Affichages
252
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…