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:

Discussions similaires

Réponses
11
Affichages
633

Statistiques des forums

Discussions
314 654
Messages
2 111 598
Membres
111 215
dernier inscrit
fateh