Export nom variable
Bonjour à tous,
Mes connaissances en VBA étant limités, certaines subtilités m'échappent.
Le but est d'exporter des données en .txt, avec répertoire et nom variable.
voici le détail de mes problèmes, je ne sais pas si on peut les résoudre avec Excel-VBA
Sur une feuille Excel, je traite certaines informations remplies en colonne A.
Il faut, à partir de cette feuille, que j'exporte mes données sur un nouveau document .txt
Jusqu'ici, tout va bien.
Je créer un nouveau fichier, en choisissant le répertoire avec Application.FileDialog(msoFileDialogFolderPicker)
Je le créer sous un serveur.
J'ai un petit soucis, à chaque fois, le fichier est créé dans le répertoire choisi, mes dans celui le précédent, exemple :
Si avec la boîte de dialogue, je choisi : S:\En Cours\Effectifs,
il va le créer dans : S:\En Cours
Je ne comprends pas - bizarre ???
Il faut que ce document créer porte le nom de la cellule A1 - c'est ici que ça se corse
Impossible de récupérer l'info, à chaque fois, il nomme le fichier "name.txt"
Merci de bien vouloir m'expliquer.
A plus tard.
bonjour,
remplace le code exportchoix par celui-ci
Sub Exportchoix()
Sheets("EXPORT").Select
Dim fd As FileDialog
Dim Repertoire As String
Dim name As String
name = Range("A1")
Set fd = Application.FileDialog(msoFileDialogFolderPicker) 'création d'une boite de dialogue choix de répertoire
fd.AllowMultiSelect = False 'on ne peut choisir qu'un seul repertoire
If fd.Show = -1 Then 'l'utilisateur à valider sa selection
Repertoire = fd.SelectedItems(1) 'le repertoire choisi
Dim Résult As Long
Résult = Exporte(ActiveSheet, Repertoire & "\" & name & ".txt", False)
End If
Select Case Résult
Case -1
MsgBox "Fichier déjà existant.", vbExclamation
Case 0
MsgBox "Fichier exporté."
Case Else
MsgBox Error(Résult), vbExclamation
End Select
End Sub
Merci,
ça fonctionne bien.
Je vais faire mon perfectionniste,
comment fait-on pour ouvrir la boîte de dialogue avec un chemin par défaut ?
Puis, si un fichier du même nom existe déjà, comment fait-on pour afficher une boîte de dialogue qui nous demande si on veut écraser le fichier existant ?
D'avance merci.
re bonjour,
macro adaptée
Sub Exportchoix()
Sheets("EXPORT").Select
Dim fd As FileDialog
Dim Repertoire As String
Dim name As String
Dim remplace As Boolean
Dim resp
name = Range("A1")
Set fd = Application.FileDialog(msoFileDialogFolderPicker) 'création d'une boite de dialogue choix de répertoire
fd.AllowMultiSelect = False 'on ne peut choisir qu'un seul repertoire
fd.InitialFileName = "e:\test" 'repertoire initial
If fd.Show = -1 Then 'l'utilisateur à valider sa selection
Repertoire = fd.SelectedItems(1) 'le repertoire choisi
Dim Résult As Long
remplace = False
If Dir(Repertoire & "\" & name & ".txt") <> "" Then
resp = MsgBox("Fichier déjà existant. OK pour le remplacer ?", vbYesNo)
If resp = vbNo Then Exit Sub Else remplace = True
End If
Résult = Exporte(ActiveSheet, Repertoire & "\" & name & ".txt", remplace)
End If
Select Case Résult
Case -1
MsgBox "Fichier déjà existant.", vbExclamation
Case 0
MsgBox "Fichier exporté."
Case Else
MsgBox Error(Résult), vbExclamation
End Select
End Sub
Bonjour,
merci h2so4, ça fonctionne très bien, je comprends mieux certaines choses maintenant.
Merci encore.
Bonne continuation.
A+.