Suppression de lignes vides impossible ?

sr94

XLDnaute Occasionnel
Bonjour

J'essaie de supprimer les lignes vides d'un classeur


Dans ce classeur la macro "compilation" permets de compiler plusieurs fichiers en 1 seul

Comment faire pour supprimer les lignes vides en dessous ? est ce possible d'intégrer la suppression à cette macro ?

(j'ai déjà essayé plusieurs méthodes trouvées sur internet et macros pour supprimer les lignes vides mais en vain rien ne marche)


Par ailleurs dans ma macro "compilation" que puis je rajouter pour prendre en compte toutes les lignes des fichiers même celles qui sont masquées ou filtrées ?


Merci beaucoup
 

Pièces jointes

  • Copie de Recap-test.xlsm
    187.5 KB · Affichages: 35
  • Copie de Recap-test.xlsm
    187.5 KB · Affichages: 40
  • Copie de Recap-test.xlsm
    187.5 KB · Affichages: 43
Dernière édition:

sr94

XLDnaute Occasionnel
Re : Suppression de lignes vides impossible ?

Merci

je viens de le mettre .... il est trop lourd à cause des lignes vides certainement !
 

Pièces jointes

  • Copie de Recap-test.xlsm
    187.5 KB · Affichages: 39
  • Copie de Recap-test.xlsm
    187.5 KB · Affichages: 48
  • Copie de Recap-test.xlsm
    187.5 KB · Affichages: 47
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Suppression de lignes vides impossible ?

Re,

perso peux pas accéder... problème proxy... A noter que l'on a rarement du fichier original, simplement un tout petit fichier représentant bien le problème posé avec le rsultat attendu...
 

sr94

XLDnaute Occasionnel
Re : Suppression de lignes vides impossible ?

le voilà !
 

Pièces jointes

  • Copie de Recap-test.xlsm
    187.5 KB · Affichages: 41
  • Copie de Recap-test.xlsm
    187.5 KB · Affichages: 47
  • Copie de Recap-test.xlsm
    187.5 KB · Affichages: 49

Pierrot93

XLDnaute Barbatruc
Re : Suppression de lignes vides impossible ?

Re,

bah.... pourquoi les supprimer.... si elles sont réellement vides cela ne devrait pas gener la suite du processus... detoute facon une feuille excel contien un nobre de lignes en fonction de la version, et quand tu en supprime une, une autre est insérer automatiquement dans la feuille... essaye peut être en masquant les lignes...
 

sr94

XLDnaute Occasionnel
Re : Suppression de lignes vides impossible ?

Ok je vais les masquer alors, merci !

j'ai une autre question : les fichiers que me retournent les collaborateurs et qui sont ensuite compilés ont parfois des filtres et du coup tout n'est pas pris en compte, Que puis je rajouter dans la macro "compilation" pour prendre en compte toutes les lignes des fichiers même celles qui sont masquées ou filtrées ?

Merci
 

sr94

XLDnaute Occasionnel
Re : Suppression de lignes vides impossible ?

J'ai mis

Code:
      On Error Resume Next
      wb.Worksheets(1).ShowAllData
      On Error GoTo 0

dans le code, ça a a l'air de marcher, à tester en situation réelle lundi matin ...
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Suppression de lignes vides impossible ?

Re,

oui je viens de voir... perso préfère le test "if" "on error..." passera à l'instruction suivante et ce sur n'importe quel type d'erreur... variable non initialisée par exemple... A toi de voir...
 

sr94

XLDnaute Occasionnel
Re : Suppression de lignes vides impossible ?

Ok c'est toi le pro ! moi je suis juste experte en copier/remplacer/coller !

Il y a juste un "détail" : mes fichiers sont générés à partir d'un autre fichier et les feuilles prennent les noms des fournisseurs donc ils ont un tous un nom différent

j'ai donc fait :

Code:
      With wb.Worksheets(1)
      If .FilterMode Then .ShowAllData
      End With

ce qui me donne mon code comme suit :

Code:
Sub Compilation()
  Dim fileName As String
  Dim wb As Workbook
  
  Application.DisplayAlerts = False
  
  ThisWorkbook.Worksheets(1).Range("A3:AF" & ThisWorkbook.Worksheets(1).Range("A3").CurrentRegion.Rows.Count).EntireRow.Delete
  fileName = Dir(ActiveWorkbook.Path & "\*.xls*")
  
  Application.ScreenUpdating = False
  Do While fileName <> ""
    If fileName <> ThisWorkbook.Name Then
      Set wb = Workbooks.Open(ActiveWorkbook.Path & "\" & fileName)
      
      
      With wb.Worksheets(1)
      If .FilterMode Then .ShowAllData
      End With
 
      wb.Worksheets(1).Range("D3:AF" & wb.Worksheets(1).Range("D3").CurrentRegion.Rows.Count).Copy
      ThisWorkbook.Worksheets(1).Activate
      Range("A" & Worksheets(1).Range("A2").CurrentRegion.Rows.Count + 1).Select
      ActiveSheet.Paste
      wb.Close False
    End If
        
    fileName = Dir
  Loop

  Set wb = Nothing
    
  Columns("A:AD").Select
  Columns("A:AD").EntireColumn.AutoFit
  Range("A3").Select

  Application.ScreenUpdating = True
  
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 452
dernier inscrit
hamzamounir