problème excel vba ouverture nouveau fichier et renommer.

jibs

XLDnaute Nouveau
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
 
Dernière édition:

Statistiques des forums

Discussions
312 106
Messages
2 085 351
Membres
102 871
dernier inscrit
Maïmanko