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
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
'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