OVH Cloud OVH Cloud

suppression de lignes vides

10 réponses
Avatar
Yansec
Bonjour,
dans une feuille Excel à 3 colonnes, je voudrais supprimer les lignes vides
à l'aide d'une macro.

Quelle est l'instruction ??
merci

10 réponses

Avatar
CAP2
Salut,

Tu sélectionnes tout ton tabelau et tu lances ça :

Sub Effacer()

Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete

End Sub

Ca marche ?

CAP2
Avatar
Daniel
Bonjour.
Essaie :

Sub test()
Dim c As Range
Set c = Range("A:C").Find("*", , , , , xlPrevious)
For i = c.Row To 1 Step -1
If Cells(i, 1) & Cells(i, 2) & Cells(i, 3) = "" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub

Cordialement.
Daniel
"Yansec" a écrit dans le message de news:

Bonjour,
dans une feuille Excel à 3 colonnes, je voudrais supprimer les lignes
vides à l'aide d'une macro.

Quelle est l'instruction ??
merci




Avatar
JB
Bonsoir,

'---- cellules vides sur toutes les colonnes
Private Sub b_sup_total_vides_Click()
For i = [A65000].End(xlUp).Row To 1 Step -1
If Application.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
End Sub

'---- Cellules vides dans le champ sélectionné
Private Sub B_sup_vides_champ_Click()
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

'---- Cellules vides dans la colonne A
Private Sub B_sup_vides_colonne_A_Click()
On Error Resume Next
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

JB

Bonjour,
dans une feuille Excel à 3 colonnes, je voudrais supprimer les lignes v ides
à l'aide d'une macro.

Quelle est l'instruction ??
merci


Avatar
Jacky
Bonsoir,
Quelle est l'instruction ??


'----------
Sub jj()
For i = Range("a65536").End(3).Row To 1 Step -1
If Application.CountA(Range("a" & i & ":" & "c" & i)) = 0 Then
Rows(i).Delete
Next
End Sub
'----------

--
Salutations
JJ

"Yansec" a écrit dans le message de news:

Bonjour,
dans une feuille Excel à 3 colonnes, je voudrais supprimer les lignes
vides à l'aide d'une macro.

Quelle est l'instruction ??
merci




Avatar
Yansec
merci à tous pour votre contribution
j'ai appliqué la solution de Jacky en premier et elle fonctionne bien.
je garde néanmoins toutes vos autres solutions car j'en aurais besoin sur
d'autres types de tri.
encore MERCI
benoît
"Jacky" a écrit dans le message de news:

Bonsoir,
Quelle est l'instruction ??


'----------
Sub jj()
For i = Range("a65536").End(3).Row To 1 Step -1
If Application.CountA(Range("a" & i & ":" & "c" & i)) = 0 Then
Rows(i).Delete
Next
End Sub
'----------

--
Salutations
JJ

"Yansec" a écrit dans le message de news:

Bonjour,
dans une feuille Excel à 3 colonnes, je voudrais supprimer les lignes
vides à l'aide d'une macro.

Quelle est l'instruction ??
merci








Avatar
Jean-Paul V
Bonjour JB

Cette macro m'intéresse, mais j'ai modifié votre fichier afin de se
rapprocher de ce que je vais avoir à traiter, mes BD ne sont pas en haut à
gauche de plus j'ai des lignes de total.
Après des modif de votre macro j'ai des erreurs que je n'arrive pas à
modifier, je ne vois pas où est l'erreur:
http://cjoint.com/?bni7cUZ811
Sub consolide_onglets()
Sheets("base").[c7:f1000].ClearContents
'Ajout JPV nécessaire pour les couleurs cas une ligne supprimée
Sheets("base").[c7:f1000].Interior.ColorIndex = xlNone
For s = 2 To Sheets.Count
n = Range(Sheets(s).[c7], Sheets(s).[A65000].End(xlUp)).Rows.Count
Range(Sheets(s).[c7], Sheets(s).[C65000].End(xlUp).End(xlToRight)).Copy
[C65000].End(xlUp).Offset(1, 0)
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[c7].Interior.ColorIndex
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub



Bonsoir,

'---- cellules vides sur toutes les colonnes
Private Sub b_sup_total_vides_Click()
For i = [A65000].End(xlUp).Row To 1 Step -1
If Application.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
End Sub

'---- Cellules vides dans le champ sélectionné
Private Sub B_sup_vides_champ_Click()
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

'---- Cellules vides dans la colonne A
Private Sub B_sup_vides_colonne_A_Click()
On Error Resume Next
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

JB

Bonjour,
dans une feuille Excel à 3 colonnes, je voudrais supprimer les lignes vides
à l'aide d'une macro.

Quelle est l'instruction ??
merci






Avatar
JB
Bonjour,

Sub consolide_onglets()
Sheets("base").[c7:f1000].ClearContents
'Ajout JPV
Sheets("base").[c7:f1000].Interior.ColorIndex = xlNone
For s = 2 To Sheets.Count
n = Range(Sheets(s).[c7], Sheets(s).[c65000].End(xlUp)).Rows.Count
' a ->c
Range(Sheets(s).[c7],
Sheets(s).[c65000].End(xlUp).End(xlToRight)).Copy
[c65000].End(xlUp).Offset(1, 0)
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[c7].Interior.ColorIndex
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub

JB

Bonjour JB

Cette macro m'intéresse, mais j'ai modifié votre fichier afin de se
rapprocher de ce que je vais avoir à traiter, mes BD ne sont pas en hau t à
gauche de plus j'ai des lignes de total.
Après des modif de votre macro j'ai des erreurs que je n'arrive pas à
modifier, je ne vois pas où est l'erreur:
http://cjoint.com/?bni7cUZ811
Sub consolide_onglets()
Sheets("base").[c7:f1000].ClearContents
'Ajout JPV nécessaire pour les couleurs cas une ligne supprimée
Sheets("base").[c7:f1000].Interior.ColorIndex = xlNone
For s = 2 To Sheets.Count
n = Range(Sheets(s).[c7], Sheets(s).[A65000].End(xlUp)).Rows.Count
Range(Sheets(s).[c7], Sheets(s).[C65000].End(xlUp).End(xlToRight)).Copy
[C65000].End(xlUp).Offset(1, 0)
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Interior.ColorIndex = _
Sheets(s).[c7].Interior.ColorIndex
[F65000].End(xlUp).Offset(1, 0).Resize(n, 1).Value = Sheets(s).Name
Next s
End Sub



Bonsoir,

'---- cellules vides sur toutes les colonnes
Private Sub b_sup_total_vides_Click()
For i = [A65000].End(xlUp).Row To 1 Step -1
If Application.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
End Sub

'---- Cellules vides dans le champ sélectionné
Private Sub B_sup_vides_champ_Click()
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

'---- Cellules vides dans la colonne A
Private Sub B_sup_vides_colonne_A_Click()
On Error Resume Next
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

JB

Bonjour,
dans une feuille Excel à 3 colonnes, je voudrais supprimer les lign es vides
à l'aide d'une macro.

Quelle est l'instruction ??
merci








Avatar
Jean-Paul V
Bonjour

J'ai essayé votre macro, elle se plante sur:
Selection.EntireRow.Delete

à+


Salut,

Tu sélectionnes tout ton tabelau et tu lances ça :

Sub Effacer()

Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete

End Sub

Ca marche ?

CAP2





Avatar
Jean-Paul V
Bonjour

Votre macro fonctionne mais il faut définir dans la macro les colonnes ici
c'est A B C

Comment la modifier si on la déclanche après avoir noirci les colonnes que
l'on veut nettoyer


Bonjour.
Essaie :

Sub test()
Dim c As Range
Set c = Range("A:C").Find("*", , , , , xlPrevious)
For i = c.Row To 1 Step -1
If Cells(i, 1) & Cells(i, 2) & Cells(i, 3) = "" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub

Cordialement.
Daniel
"Yansec" a écrit dans le message de news:

Bonjour,
dans une feuille Excel à 3 colonnes, je voudrais supprimer les lignes
vides à l'aide d'une macro.

Quelle est l'instruction ??
merci









Avatar
Jean-Paul V
Bonjour JB

Je m'étais mis de coté ces trois macros en me disant que ça peut servir.
Hors je m'aperçois que je ne sais pas les déclancher.Pourriez-vous me donner
un peu plus d'explications sur leur mode fontionnement.

a+ j'espère


Bonsoir,

'---- cellules vides sur toutes les colonnes
Private Sub b_sup_total_vides_Click()
For i = [A65000].End(xlUp).Row To 1 Step -1
If Application.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
End Sub

'---- Cellules vides dans le champ sélectionné
Private Sub B_sup_vides_champ_Click()
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

'---- Cellules vides dans la colonne A
Private Sub B_sup_vides_colonne_A_Click()
On Error Resume Next
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

JB

Bonjour,
dans une feuille Excel à 3 colonnes, je voudrais supprimer les lignes vides
à l'aide d'une macro.

Quelle est l'instruction ??
merci