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

XL 2019 VBA Suppression de 10 ligne on laisse une ligne on supprime 10 lignes...

  • Initiateur de la discussion Initiateur de la discussion patpat78
  • 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 !

patpat78

XLDnaute Nouveau
Bonjour

j'essaye de faire une macro pour supprimer sur une plage variable des blocs de 10 ligne en laissant la 11 eme et ainsi de suite j'arrive a supprimer une ligne sur 2 mais c'est pas exactement ce qu'il me faut en commençant a partir de la ligne 5

auriez vous une idée ?

merci d'avance
 
Bonjour Patpat,

C'est juste une petite boucle, mais il faut penser que quand on a supprimé le premier bloc (les lignes 5 à 14), les lignes suivantes à supprimer ne sont pas les lignes 16 à 25, mais les lignes 6 à 15 !

Ci-joint un fichier exemple
 

Pièces jointes

Bonsoir patpat78, Katido,

Sur un grand tableau, si l'on veut aller vite, il ne faut pas utiliser une boucle.

Utiliser une colonne auxiliaire, une formule pour filtrer et un tri pour regrouper :
VB:
Sub Supprimer()
Application.ScreenUpdating = False
Columns(1).Insert 'colonne auxiliaire
With Rows("5:" & Cells.SpecialCells(xlCellTypeLastCell).Row)
    If .Row = 5 Then
        With .Columns(1)
            .Formula = "=LN(MOD(ROW()-5,11)=10)" 'formule pour filtrer
            .Value = .Value 'supprime les formules
            .EntireRow.Sort .Cells, xlAscending, Header:=xlNo 'tri pour regrouper et accélérer
            .SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete 'supprime les valeurs d'erreur
        End With
    End If
End With
Columns(1).Delete 'supprime la colonne auxiliaire
End Sub
A+
 

Pièces jointes

Réactions: cp4
Pas vraiment sûr qu'en ajoutant une formule dans toutes les lignes concernées, puis en faisant un tri, puis la suppression, on soit gagnant en temps s'il y a peu de lignes (moins de quelques milliers)
Au delà, je suis d'accord.

La première question à se poser est combien de lignes (ou de blocs de 10) il faut supprimer
 
Merci ça marche impeccable! 😀
 
Bonjour patpat78, Katido,
La première question à se poser est combien de lignes (ou de blocs de 10) il faut supprimer
Avec la solution que j'ai donnée il n'y a pas à se poser de question.

C'est la solution la plus rapide quel que soit le nombre de lignes à supprimer.

De plus les formats sont conservés, contrairement à la méthode utilisant des tableaux VBA.

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
38
Affichages
908
Réponses
7
Affichages
803
Réponses
5
Affichages
328
Réponses
3
Affichages
604
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
670
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…