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

XL 2010 Eliminer les colonnes vide dans une selection

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 !

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
(...)
 
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:
- 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
10
Affichages
558
Réponses
2
Affichages
288
Réponses
3
Affichages
685
Réponses
5
Affichages
485
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…