Décaler des colonnes

-  
Bonjour,

Je suis débutante en vba. J'ai créé une macro qui permet de récupérer des fichiers dans un répertoire. Ces fichiers sont ouverts et je copie des colonnes. Ces colonnes sont ensuite collées dans un nouveau fichier. Cependant, vu que j'ouvre n fichiers, je copie/colle n colonnes dans un fichier mais je les écrase à chaque fois. Il faudrait les décaler à chaque fois de ces n colonnes. Pouvez-vous m'aider?

Do While Len(sFilename) > 0
Set wb2 = Workbooks.Open(sPath & sFilename)
lastCol = ActiveSheet.Range("B2").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("B2", ActiveSheet.Cells(lastRow, lastCol)).Select Selection.Copy wb.Sheets(1).Paste

wb2.Close False

sFilename = Dir

3 réponses

  1. Dsl du retard.

    Cela ne fonctionne pas.. mais j'ai trouvé.

    MERCI encore!
    1. Contributeur
      Bonjour

      1° colonne vide
      lastCol = ActiveSheet.Range("B2").End(xlToRight).Column+1 

      --
       Michel
      1. Contributeur
        erreur de ma part !!!

        SI ton fichier cible est vide au départ de tes transferts,
        Range("XFD1") = " "
        cellvid = Rows(1).Find(what:="", after:=Range("XFD1")).Address


        s'il y a quelque chose en A1 (ou B2 ou C45 .....) comme point de départ
        si A1 par exemple
        cellvid = Rows(1).Find(what:="", after:=Range("A1")).Address
        si B2 par exemple
        cellvid = Rows(2).Find(what:="", after:=Range("B2")).Address


        cela te donne l'adresse de la 1° colonne vide sur la ligne de restitution