Bonjour,
Je cherche à créer un code permettant de transferer des données d'un fichier excel vers un nouveau fichier excel.
Le code ci-dessous me permet de le faire, cependant je passe par une étape créant un nouvel onglet dans le fichier excel existant. De plus, j'aimerai que ce nouveau fichier prenne comme nom une variable que j'ai appellé newF. Voilà, si quelqu'un peut m'aider à améliorer ce code pour le rendre plus direct sans passer par un nouvel onglet ou pour le nommer et l'enregistrer je suis preneur Merci d'avance !
Voilà le code!
Sub Macro2()
' Macro1 Macro
Dim i%, t As Range, newF$
Dim Chemin As String
Chemin = "C:\Users\Bilan"
With Feuil1
For i = 1 To .Range("A65000").End(xlUp).Row
Set r = .Cells(i, 2).Resize(1, 4)
Set r1 = .Cells(i, 6).Resize(1, 4)
Set r2 = .Cells(i, 10).Resize(1, 4)
Set r3 = .Cells(i, 14).Resize(1, 4)
Set r4 = .Cells(i, 18).Resize(1, 4)
Set r5 = .Cells(i, 23).Resize(1, 4)
Set r5 = .Cells(i, 27).Resize(1, 4)
Set r5 = .Cells(i, 32).Resize(1, 4) 'copie 4 colonnes !
newF = .Cells(i, 1)
Feuil2.Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = newF
.Cells(4, 3) = newF
.Cells(16, 2).Resize(r.Rows.Count, r.Columns.Count) = r.Value
.Cells(17, 2).Resize(r.Rows.Count, r.Columns.Count) = r1.Value
.Cells(18, 2).Resize(r.Rows.Count, r.Columns.Count) = r2.Value
.Cells(19, 2).Resize(r.Rows.Count, r.Columns.Count) = r3.Value
.Cells(20, 2).Resize(r.Rows.Count, r.Columns.Count) = r4.Value
.Cells(21, 2).Resize(r.Rows.Count, r.Columns.Count) = r5.Value
End With
With ActiveWorkbook
ThisWorkbook.Sheets(Sheets.Count).Copy
End With
Next
End With
End Sub
Je cherche à créer un code permettant de transferer des données d'un fichier excel vers un nouveau fichier excel.
Le code ci-dessous me permet de le faire, cependant je passe par une étape créant un nouvel onglet dans le fichier excel existant. De plus, j'aimerai que ce nouveau fichier prenne comme nom une variable que j'ai appellé newF. Voilà, si quelqu'un peut m'aider à améliorer ce code pour le rendre plus direct sans passer par un nouvel onglet ou pour le nommer et l'enregistrer je suis preneur Merci d'avance !
Voilà le code!
Sub Macro2()
' Macro1 Macro
Dim i%, t As Range, newF$
Dim Chemin As String
Chemin = "C:\Users\Bilan"
With Feuil1
For i = 1 To .Range("A65000").End(xlUp).Row
Set r = .Cells(i, 2).Resize(1, 4)
Set r1 = .Cells(i, 6).Resize(1, 4)
Set r2 = .Cells(i, 10).Resize(1, 4)
Set r3 = .Cells(i, 14).Resize(1, 4)
Set r4 = .Cells(i, 18).Resize(1, 4)
Set r5 = .Cells(i, 23).Resize(1, 4)
Set r5 = .Cells(i, 27).Resize(1, 4)
Set r5 = .Cells(i, 32).Resize(1, 4) 'copie 4 colonnes !
newF = .Cells(i, 1)
Feuil2.Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = newF
.Cells(4, 3) = newF
.Cells(16, 2).Resize(r.Rows.Count, r.Columns.Count) = r.Value
.Cells(17, 2).Resize(r.Rows.Count, r.Columns.Count) = r1.Value
.Cells(18, 2).Resize(r.Rows.Count, r.Columns.Count) = r2.Value
.Cells(19, 2).Resize(r.Rows.Count, r.Columns.Count) = r3.Value
.Cells(20, 2).Resize(r.Rows.Count, r.Columns.Count) = r4.Value
.Cells(21, 2).Resize(r.Rows.Count, r.Columns.Count) = r5.Value
End With
With ActiveWorkbook
ThisWorkbook.Sheets(Sheets.Count).Copy
End With
Next
End With
End Sub
Dernière édition: