Bonjour,
Existe t'il une macro qui permette de supprimer les lignes vides. En effet j'ai des données dans ma ligne 1 et 4 par exemple et j'aimerais qu'une simple macro m'enlève les lignes vides 2 et 3. Ou me les masquer, encore mieux.
Merci!
Bag
Bonjour,
Existe t'il une macro qui permette de supprimer les lignes vides. En effet j'ai des données dans ma ligne 1 et 4 par exemple et j'aimerais qu'une simple macro m'enlève les lignes vides 2 et 3. Ou me les masquer, encore mieux.
Merci!
Bag
bonsoir
essayez avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub masquerLigne() Dim r As Range Application.ScreenUpdating = False For Each r In Worksheets("feuil1").Range("A2:A15") With r .EntireRow.Hidden = ((.Value = "")) End With Next r Application.ScreenUpdating = True End Sub
pour supprimer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub supprLigne() With Sheets("Feuil1") For i = .Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1 If .Cells(i, 1) = "" Then Cells(i, 1).EntireRow.Delete End If Next i End With End Sub
J'ai essayé le masquage des lignes et ça m'a l'air parfait. Mais connais-tu la formule magique qui me permettrait de choisir plusieurs plages.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub masquerLigne() Dim r As Range Application.ScreenUpdating = False For Each r In Worksheets("feuil1").Range("A2:A15") ' (plages A2:15 mais également A20:A30 et A40:A55) With r .EntireRow.Hidden = ((.Value = "")) End With Next r Application.ScreenUpdating = True End Sub
Bonjour
peut être devra tu compiler les adresse a supprimer avant de les supprimer ca évite les méprise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim area,emptycells as range Sub test() With Worksheets("feuil1").Range("A2:A15,A20:A30,A40:A55") For Each area In .Areas Set emptycells = area.SpecialCells(xlCellTypeBlanks) If Not emptycells Is Nothing Then emptycells.EntireRow.Delete Next End With End Sub
sinon dans une boucle mais en commençant par en bas(55) en incluant les sauts entre chaque plages 2 boucle imbriquées (area et cells) c'est déjà un peu plus compliqué
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub test() Dim area, emptycells As Range, p As Range With Worksheets("feuil1").Range("A2:A15,A20:A30,A40:A55") For Each area In .Areas Set emptycells = area.SpecialCells(xlCellTypeBlanks) If Not emptycells Is Nothing Then If p Is Nothing Then Set p = emptycells Else Set p = Union(p, emptycells) End If Next p.EntireRow.Delete End With End Sub
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
Partager