Loop copier coller de grandeur variable

Bonjour à tous!

J'ai chercher sans fin afin d'être capable d'automatiser une production de fichier excel mais en vain. Voici ce que j'essaie de réaliser. J'ai des données que je veux extraire d'un TCD avec une Macro. L'inconvenient est que ces données ont toujours un nombre de ligne variable mais toujours jusqu'à AK. Je veux donc être capable de faire un loop qui débute à B8.

Voici mon début de macro:

Range("B7:AK7").Copy ''Ici je copie l'entete du fichier

Workbooks.Add

ActiveSheet.Paste

Windows("Nomdufichier.xlsx").Activate

Range("B8").End(xlDown).Offset(-1, 0).Select

' c'est ici que je suis perdu!

ActiveWorkbook.SaveAs Filename:= _

Chemin & Range("A2") & ".xlsx" _

, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

ActiveWindow.Close

En gros j'ai des informations dans un tableau qui peuvent se situer à B8, B16, B18,B20 et je veux etre capable de copier de (B8:AK15),(B16:AK17),etc..

Merci d'avance pour l'aide!

Bonjour,

Je ne suis pas sûr d'avoir tout compris mais teste ceci et dis moi ce qui éventuellement n'irai pas :

Sub Test()

    Dim ClsActif As Workbook
    Dim ClsNouv As Workbook
    Dim FeActif As Worksheet
    Dim FeNouv As Worksheet
    Dim Plage As Range

    Set ClsActif = ThisWorkbook 'je suppose que c'est le classeur "Nomdufichier.xlsx" !
    'Set ClsNouv = Workbooks.Add

    Set FeActif = ClsActif.Worksheets("Nom de ta feuille")
    Set FeNouv = ClsActif.Worksheets(1) 'ClsNouv.Worksheets(1)

    'entêtes des colonnes à partir de A1 sur la nouvelle feuille
    With FeNouv: .Range(.Cells(1, 1), .Cells(1, 36)).Value = FeActif.Range("B7:AK7").Value: End With

    With FeActif: Set Plage = .Range(.Cells(8, 2), .Cells(.Cells(8, 2).End(xlDown).Row, 37)): End With

    With FeNouv: .Range(.Cells(2, 1), .Cells(Plage.Rows.Count + 1, 36)).Value = Plage.Value: End With

    ClsNouv.SaveAs Chemin & ClsActif.Worksheets("Nom de ta feuille").Range("A2") & ".xlsx", 51, , , , False

    ClsNouv.Close

End Sub

Bonjour,

Merci pour le premier essai! J'avais déjà modifier une partie pour donner un nom au fichier de départ.

J'ai joint un fichier d'exemple du type de fichier avec lequel je pars. Je veux donc créer un nouveau fichier avec l'entete et la premiere equipe dans un fichier que j'enregistre ensuite avec le nom de l'equipe. Puis je veux créer un fichier avec l'entete et l'équipe 2 qui sera renommer selon ce nom et ainsi de suite jusqu'à ce qu'il n'y ait plus rien. Le reste de mon macro sauvegarde le fichier avec le nom qui se trouve en B2 et quitte ensuite!

8exemple.xlsx (9.06 Ko)
Rechercher des sujets similaires à "loop copier coller grandeur variable"