Décaler des colonnes

yoshiiiiiiiiiiiiiiiiii Messages postés 1 Statut Membre -  
 yoshiiiiiiiiiiiiiiiiii -
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. yoshiiiiiiiiiiiiiiiiii
     
    Dsl du retard.

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

    MERCI encore!
    1
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

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

    --
     Michel
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
      0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    MERCI

    de rien...
    -1