XL 2010 Eliminer les colonnes vide dans une selection

fattah_5791

XLDnaute Occasionnel
Bonjour,
J'ai une macro qui charge des donnees à partir des feuilles excel d'un classeur source et les colle dans une feuille d'un autre classeur destination.
J'aimerais bien eliminer des colonnes vides (si il y en a) de la plage copiee des feuilles sources avant de faire la copie et quitter la feuille source sans faire aucune modification apres la fermeture.
Merci


VB:
(...)
For i = 1 To nbrf
            Sheets(i).Select
            NbLig = Cells.SpecialCells(xlCellTypeLastCell).Row
'la plage à selectionner pour la copie
            Range("D11:X" & NbLig).Select
            selection.Copy
            Windows("EtudeNotes.xlsm").Activate
            Sheets(n).Select
            NbLig0 = Range("U" & Rows.Count).End(xlUp).Row
            Range("A" & NbLig0 + 1).Select
'Collage de la plage copiee
            selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
(...)
 

Lone-wolf

XLDnaute Barbatruc
Bonsoir fattah

Un essai

VB:
Option Explicit

Sub test()
Dim Wks As Workbook, derlig As Long, lig As Long, col As Long,  i As Long, dercol

    Application.ScreenUpdating = False

    Set Wks = "Classeur Source"

    With Wks
        For i = 1 To .Sheets.Count
            dercol = .Sheets(i).Columns("X").Find("", , , , , xlPrevious).Column
            derlig = .Sheets(i).Cells(Rows.Count, 1).End(xlUp).Row
            For lig = 2 To derlig            
                   For col = dercol To 1 Step -1
                            If .Cells(lig, col) = "" Then
                                 .Cells(lig, col).EntireColumn.Hidden = True
                                   'Ligne à adapter
                                 .Cells.SpecialCells(xlCellTypeConstants).Copy Feuil3.Range("a1")
                            End If
                  Next col
            Next lig
        Next i
    End With
    ActiveWorkbook.Close False
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 726
Membres
110 552
dernier inscrit
jasson