Supprimer les lignes vides d'un tableau

  • Initiateur de la discussion Arno
  • Date de début
A

Arno

Guest
Bonjour,
Est-ce que quelqu'un saurait faire une macro qui permet de supprimer toutes les lignes vides d'un tableau.
Par avance, merci
 

2passage

XLDnaute Impliqué
Bonjour,

voila un code a coller sur un bouton qui supprime les lignes vides dans un tableau selectionné :
Code:
Private Sub CommandButton1_Click()
Dim strtest As String
For j = 1 To ActiveWindow.RangeSelection.Rows.Count
    For i = 1 To ActiveWindow.RangeSelection.Columns.Count
        strtest = strtest & Cells(j, i)
    Next i
    If strtest = '' Then Rows(j).Delete
    strtest = ''
Next j
End Sub

A+
 
A

Arno

Guest
Merci,
Mais je pense qu'il y a un problème car quand je fais appliquer après avoir sélectionné mon tableau, il apparait :
Erreur de compilation : erreur de syntaxe
Pourrais-tu m'aider encore une fois
Merci
 

2passage

XLDnaute Impliqué
Re,

tu pourrais me dire a quel niveau ça coince ? je viens de retester ici et ca fonctionne. C'est peut etre un probleme de version ( laquelle as-tu ?)

++

Edit : ooops, léger bug détecté quand il y a plusieurs lignes vides qui se succèdent.

Sinon, au fait : as tu pensé à la solution de trier ton tableau pour supprimer les lignes vides ?

Message édité par: 2passage, à: 13/06/2005 16:06
 

2passage

XLDnaute Impliqué
rebonjour,

voila, ca doit mieux gerer les lignes vides consécutives :
Code:
Private Sub CommandButton1_Click()
Dim Li, Co, LiOr, CoOr As Integer
Dim StrTest As String
Li = ActiveWindow.RangeSelection.Rows.Count
Co = ActiveWindow.RangeSelection.Columns.Count
LiOr = ActiveWindow.RangeSelection.Row
CoOr = ActiveWindow.RangeSelection.Column
ActiveSheet.Cells(LiOr, CoOr).Select
Do While ActiveCell.Row <= Li
    StrTest = ''
    For j = 1 To Co
        StrTest = StrTest & ActiveCell.Offset(0, j - 1).Text
    Next j
    If StrTest = '' Then
        Rows(ActiveCell.Row).Delete
        Li = Li - 1
    Else
        ActiveCell.Offset(1).Select
    End If
Loop
End Sub

++
 
A

Alicia

Guest
Bonjour,

J'ai utilisé cette macro qui fonctionne bien si je sélectionne mon tableau. Par contre, comme mon fichier peut avoir 10 000 lignes, je trouvais plus rapide de cliquer sur le carré gris entre A et 1 pour sélectionner toute la feuille et je clique sur le bouton de macro et la macro toute en rond, j'ai l'impression qu'elle essaie de supprimer les lignes jusqu'à 65536.


Comment je pourrais faire pour éviter d'avoir à sélectionner moi-même mon tableau?


Merci

Alicia
 

Discussions similaires

Réponses
8
Affichages
390

Statistiques des forums

Discussions
312 241
Messages
2 086 523
Membres
103 242
dernier inscrit
Patoshick