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!