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

Résolu/Fermé
Aude - 18 févr. 2015 à 16:06
 Aude - 19 févr. 2015 à 09:07
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

ThauTheme
Messages postés
1439
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
20 juin 2022
159
Modifié par ThauTheme le 18/02/2015 à 23:26
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
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
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