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

Autres Lignes vides et remonter les données colonne et plage

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

VIARD

XLDnaute Impliqué
Bonjours à toutes et tous

En partage je vous présente une manip de suppression des lignes vides avec remonté des données.
Feuil1: le premier test sur la colonne "A" avec 70 lignes dont 23 lignes vides, temps d'exécution 0,016 seconde
mais avec 11000 lignes dont 1/3 de vides ~ 4000, durée --> 36 secondes
Feuil2: test sur une plage en respectant le format.
Feuil3: les modules

A+ Jean-Paul
 

Pièces jointes

Bonjour,

En faisant un filtre sur les lignes vides de la colonne A, ne reste plus qu'à supprimer ces lignes.

Exemple sur la feuille 2 de votre fichier
VB:
Sub Supprimer_Lignes_Vides()
    Dim DerLig As Long
    Dim f1 As Worksheet
    Application.ScreenUpdating = False
    Set f1 = Sheets("Feuil2")
    DerLig = f1.Range("A" & Rows.Count).End(xlUp).Row 'par rapport à la colonne A
    f1.Range("A10:G" & DerLig).AutoFilter Field:=1, Criteria1:="="
    f1.Rows("11:" & DerLig).SpecialCells(xlCellTypeVisible).Delete
    f1.ShowAllData
    Set f1 = Nothing
End Sub

Cdlt
 
Bonjour à tous,

Une méthode que j'ai utilisée pour une autre question (intéressant si beaucoup de lignes dispersées à supprimer).
Dans le fichier joint, suppression des lignes si la cellule de la colonne A est vide ou contient la chaine vide.
100 000 lignes - 35 000 lignes à supprimer =>env. 1 sec. sur ma bécane.

edit : v2a (juste corrigé formules cellules colonne J - ne change rien au code vba)
 

Pièces jointes

Dernière édition:
Bonjour Rouge, mapomme et à tous

Mapomme --> pas mal du tout, je suis impressionné, sur la mienne 1,63 seconde
maintenant il me reste à bien comprendre, je n'ai pas l'habitude de coder comme ça.
et la seconde version 1,78 sec.
Rouge --> Merci pour ce code, j'étais sur que l'on pouvait faire mieux. Une instruction
que je ne connaissais pas "ShowAllData".
Je corrige juste la colonne de référence ("B").
Merci pour toutes ces informations.

A+ Jean-Paul
 
Re,

maintenant il me reste à bien comprendre, je n'ai pas l'habitude de coder comme ça.

Voir la version jointe qui est commentée. Il suffit d'exécuter la macro pas à pas en suivant le résultat sur la feuille Excel.
 

Pièces jointes

Simple curiosité, combien avez-vous y trouvé en temps pour l'exécution de ma macro.

Le code adapté à votre fichier
VB:
Sub HOP()
    Dim deb
    deb = Timer
    Dim DerLig As Long
    Dim f1 As Worksheet
    Application.ScreenUpdating = False
    Set f1 = Sheets("Feuil2")
    DerLig = f1.Range("B" & Rows.Count).End(xlUp).Row 'par rapport à la colonne A
    f1.Range("A1:G" & DerLig).AutoFilter Field:=1, Criteria1:="="
    f1.Rows("2:" & DerLig).SpecialCells(xlCellTypeVisible).Delete
    f1.ShowAllData
    Set f1 = Nothing
    MsgBox Timer - deb & " Sec"
End Sub

Je vous retourne le fichier( j'y ai ajouté une ligne pour les titres), faites l'essai
 

Pièces jointes

Bonjour Rouge, mapomme et à tous

J'ai bien apprécié les codes commentés, pour ça ok.
Mais malheureusement, cela correspond pas avec ce que j'ai réalisé.
que ce soit pour le traitement d'une colonne ou d'une plage.
Pour la colonne (1), les colonnes suivantes ne sont pas touchées because données.
seul les cellules pleines de la colonne(1) sont remontées.
Idem pour la plage, seul la zone est concernée et sa taille conservée, seul les données remontes,
le reste de la feuille ne bouge pas.
- Je comprend pourquoi mes codes sont plus long à traiter.

A+ Jean-Paul
 
Bonjour @VIARD 🙂,


C'est quand même au demandeur d'expliquer clairement ce qu'il veut, non ?
Et non pas simplement nous fournir 3 bouts de code à décortiquer par les membres pour connaitre les tenants et les aboutissements. Rien n'est plus frustrant que d'avoir travailler pour rien.
Sans rancune 🙂
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…