Générer un chemin pour enregistrer un fichier en VBA

Bonjour,

Je génère un fichier en xlsx en VBA. Jusque la tout fonctionne. Maintenant je voudrai pouvoir choisir le chemin pour enregistrer le fichier.

Voici le code que j'ai actuellement :

Sub GenerateDataBaseCarloGavazzi()
Dim NCol(10) As Byte, i As Byte, FSource As Worksheet, Destination As Workbook
Dim Chemin As String
Dim Repertoire As FileDialog

'Numéro de colonne à exporter
NCol(0) = 1
NCol(1) = 2
NCol(2) = 3
NCol(3) = 4
NCol(4) = 5
NCol(5) = 6
NCol(6) = 7
NCol(7) = 8
NCol(8) = 9
NCol(9) = 10

'Définition des références
Set FSource = ThisWorkbook.Worksheets("CarloGavazziProgramme")
Set Destination = Workbooks.Add

'Copie des 5 colonnes choisies
For i = 0 To 9
    FSource.Columns(NCol(i)).Copy Destination.Sheets(1).Cells(1, i + 1) 'S'il faut laisser les colonnes à la même place, remplacer i + 1 par Ncol(i)
Next i

'Enregistrement et fermeture du fichier créé
'Choix du répertoire
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Title = "Veuillez choisir un dossier dans lequel exporter le fichier"
Repertoire.InitialFileName = ActiveWorkbook.Path
Repertoire.Show
Destination.SaveAs Filename:= Repertoire & "\CarloGav" & Year(Date) & Month(Date) & Day(Date) & ".xlsm"
Destination.Close

End Sub

Re Monsieurgg,

Voici ci-joint une méthode pour choisir un chemin de fichier

J'ai seulement modifié le code.

' Auteur    : Didier FOURGEOT (myDearFriend!) - www.mdf-xlpages.com
' Date      : 30/06/2009
' Sujet     : Liste et détails fichiers dans répertoire et sous-répertoires choisis

Bonjour Juice,

Merci beaucoup pour cette réponse rapide,

Je suis novice en VBA et je trouve le code très conséquent juste pour obtenir le chemin du fichier

Je voudrai juste remplacer ce bout de code (qui n'est pas fonctionnelle je l'avoue) :

Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Title = "Veuillez choisir un dossier dans lequel exporter le fichier"
Repertoire.InitialFileName = ActiveWorkbook.Path
Repertoire.Show
Destination.SaveAs Filename:= Repertoire & "\CarloGav" & Year(Date) & Month(Date) & Day(Date) & ".xlsm"
Destination.Close

C'est surtout cette ligne qui me pose problème en faite (le débogueur s'ouvre), je n'arrive pas à récupérer le chemin qui en ressort :

Destination.SaveAs Filename:=Repertoire & "\CarloGav" & Year(Date) & Month(Date) & Day(Date) & ".xlsm"

Le but et juste d'enregistrer le fichier générer à un endroit à choisir

Un grand merci de ton aide

Aprés beaucoup d'essaie voici le résultat fonctionnelle !!!!

'Choix du répertoire

Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
        Repertoire.Title = "Veuillez choisir un dossier d'exportation pour le fichier " & "CarloGav" & Year(Date) & Month(Date) & Day(Date) & Hour(Now) & Minute(Now) & Second(Now) & ".xlsm"
        Repertoire.InitialFileName = ActiveWorkbook.Path
        Repertoire.Show
        Chemin = Repertoire.SelectedItems(1)

'Enregistrement et fermeture du fichier créé

If Repertoire.SelectedItems.Count > 0 Then

    Destination.SaveAs Filename:=Chemin & "\CarloGav" & Year(Date) & Month(Date) & Day(Date) & Hour(Now) & Minute(Now) & Second(Now) & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
    Destination.Close
    MsgBox "Le fichier est bien enregistré ici : " & Chemin & "\CarloGav" & Year(Date) & Month(Date) & Day(Date) & Hour(Now) & Minute(Now) & Second(Now) & ".xlsm"

Else

    MsgBox "Aucun dossier sélectionné"
    Exit Sub

End If

Je vais donc mettre ce sujet en résolu ! Merci beaucoup

Rechercher des sujets similaires à "generer chemin enregistrer fichier vba"