XL 2013 suppression automatique lignes

  • Initiateur de la discussion Initiateur de la discussion basnasone
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

basnasone

XLDnaute Nouveau
Salut tout le monde,

Je posséde un fichier excel de 2172 lignes et 5 colonnes A à E. je veux que excel me saute les 4 primières lignes et supprimer les 8 lignes suivantes et ainsi de suite.

Merci.
 
Bonjour basnasone, bienvenue sur XLD,

Cette solution VBA suppose qu'il y a une (et une seule) ligne d'en-têtes :
VB:
Sub SupprimerLignes()
Dim tablo, i&, j&
Application.ScreenUpdating = False
With ActiveSheet.UsedRange.Offset(1) 'saute la ligne des en-têtes
    With .Resize(12 * Int(.Rows.Count / 12) + 12) 'multiple de 4 + 8 = 12
        .Columns(1).EntireColumn.Insert 'colonne auxiliaire
        tablo = .Columns(0) 'matrice, plus rapide
        For i = 1 To UBound(tablo) Step 12
            For j = i To i + 3
                tablo(j, 1) = 1 'repère
        Next j, i
        With .Columns(0)
            .Value = tablo
            .EntireRow.Sort .Cells, Header:=xlNo 'tri pour regrouper et accélérer
            .SpecialCells(xlCellTypeBlanks).EntireRow.Delete
            .EntireColumn.Delete
        End With
    End With
End With
End Sub
A+
 
Dernière édition:
Bonjour basnasone, bienvenue sur XLD,
Cette solution VBA suppose qu'il y a une (et une seule) ligne d'en-têtes :
VB:
Sub SupprimerLignes()
Dim tablo, i&, j&
Application.ScreenUpdating = False
With ActiveSheet.UsedRange.Offset(1) 'saute la ligne des en-têtes
    With .Resize(12 * Int(.Rows.Count / 12) + 12) 'multiple de 4 + 8 = 12
        .Columns(1).EntireColumn.Insert 'colonne auxiliaire
        tablo = .Columns(0) 'matrice, plus rapide
        For i = 1 To UBound(tablo) Step 12
            For j = i To i + 3
                tablo(j, 1) = 1 'repère
        Next j, i
        With .Columns(0)
            .Value = tablo
            .EntireRow.Sort .Cells, Header:=xlNo 'tri pour regrouper et accélérer
            .SpecialCells(xlCellTypeBlanks).EntireRow.Delete
            .EntireColumn.Delete
        End With
    End With
End With
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
223
Réponses
6
Affichages
188
Retour