VBA Excel:Copier/coller ligne+nom de feuille ds autre feuille

Résolu
Aude -  
 Aude -
Bonjour,

Je dispose d'un tableur composé de plusieurs feuilles contenant des tableaux ayant la même structure et une seule ligne, et d'une feuille récapitulative: la première.
J'aimerais pouvoir copier les cellules A6 à F6 de chaque tableau en B6 à G6 du tableau récapitulatif et lignes suivantes. En A6 du premier tableau, j'aimerais que soit indiqué le nom de l'onglet d'où sont tirées les données sans les 5 premiers caractères qui correspondent à un code non nécessaire.
Voici un exemple du tableau: http://cjoint.com/?EBsqraUEg64
Merci!

1 réponse

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonsoir Aude, bonsoir le forum,

    Essaie comme ça :

    Sub Macro1()
    Dim R As Worksheet 'déclare la variable R (onglet Recap)
    Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
    
    Set R = Sheets("Recap") 'définit l'onglet R
    For I = 2 To Sheets.Count 'boucle sur tous les onglets du classeur (en partant du second)
        Set DEST = R.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) 'définit la cellue de destination DEST
        DEST.Value = Split(Sheets(I).Name, "-")(1) 'renvoie dans DEST la partie du nom de l'onglet après le trait d'union
        'copie les données de l'onglet et les colle dans DEST décalée d'une colonne à droite
        Sheets(I).Range("A6:F6").Copy DEST.Offset(0, 1)
    Next I 'prochain onglet de la boucle
    End Sub


    À plus,
    ThauTheme
    2
    1. Aude
       
      Ca fonctionne à merveille, merci!
      Petite question complémentaire: comment faire pour que les données soient collées, toujours dans la feuille 'Recap', à partir de B10 par exemple au lieu de B6?
      Merci encore!
      0
    2. Aude
       
      J'ai trouvé la solution, il suffit juste de changer les titres de ligne et les informations se colleront juste en-dessous.
      Merci encore ThauTheme!
      0