browser/save txt file

daniel_gre

XLDnaute Nouveau
Bonjour,

je souhaite creer une userform qui permettra a l'utiliateur de choisir le nom du fichier text a sauvegarder ainsi que le repertoire ou il souhaite le sauvegarder...

J'ai trouver une primitive 'Application.Dialogs(xlDialogSaveAs).Show', mais qui ne me permet que de sauvegarder le fichier excel courant...

Y a t'il quelqu'un qui a des idees ?

Par avance un grand merci,

Daniel.
 

daniel_gre

XLDnaute Nouveau
Re-Bonjour,

merci de cette aide,
MAIS elle ne repond a mon besoin:
- je ne souhaite pas sauver mon fichier XL,
- mais un fichier text, que je genere,
- je souhaite laisse a l'utilisateur de faire le choix du repertoire ou le sauver

quelqu'un a t'il une idee repondant a mon besoin?

par avance merci,

Daniel.
 

daniel_gre

XLDnaute Nouveau
Re-Bonjour,

je ne suis pas sur de ta question...
- si c'est comment est-ce que je convertis un fichier XL en txt, alors ce n'est pas ce que je fais,
- si c'est comment je genere un fichier text...en fait je veux sauvegarder des donnees dans un fichier .txt ... et je veux laisser le choix a l'utilisateur de choisir le repertoire de sauvegarde...et pour cela je souhaite afficher un browser pour qu'il effectue son choix de repertoire

Daniel.
 

daniel_gre

XLDnaute Nouveau
Re-Bonjour,

merci de ton aide :)
mes donnees vont provenir une 'string'

en parrallele, j'avance et j'ai commence a utiliser:
FullFileName = Application.GetSaveAsFilename('variable.txt', _
'Text Files (*.txt),*.txt', 1, 'Save Your Exam file')

pour recuperer le path ou l'utilisateur va sauvegarder ses donnees,

si cela marche, je vais ensuite utiliser les commandes classiques pour ecrire un fichier text

Daniel.
 

Jam

XLDnaute Accro
Salut Eric, Daniel, verkmort,

Un petit recours à l'API fera parfaitement le boulot:

En entête de module
Code:
Public Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    lImage As Long
End Type

'# Declaration des fonctions API (32 bits) #
'// BrowseForFolder \\\\
Declare Function SHGetPathFromIDList Lib 'Shell32.dll' _
    Alias 'SHGetPathFromIDListA' (ByVal pidl As Long, ByVal pszpath As String) As Long
    
Declare Function SHBrowseForFolder Lib 'Shell32.dll' _
    Alias 'SHBrowseForFolderA' (lpBrowseInfo As BROWSEINFO) As Long

la fonction qui affichera la boîte de dialogue et renverra le dossier choisi (avec le chemin:
Code:
'=====================
'BrowseForFolder (API)
'=====================
Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim path As String
Dim r As Long, x As Long, pos As Integer

bInfo.pidlRoot = 0&
If IsMissing(Msg) Then
    bInfo.lpszTitle = 'Select a folder.'
Else
    bInfo.lpszTitle = Msg
End If
bInfo.ulFlags = &H1
x = SHBrowseForFolder(bInfo)
path = Space$(512)
r = SHGetPathFromIDList(ByVal x, ByVal path)
If r Then
    pos = InStr(path, Chr$(0))
    GetDirectory = Left(path, pos - 1)
Else
    GetDirectory = ''
End If
End Function

Bon courage
 

Jam

XLDnaute Accro
Re,

J'y attache un p'tit fichier txt zippé reprenant le code pour éviter les problèmes de formatage dans mon post précédent.

Bon courage [file name=BrowseForFolder_20060411110413.zip size=624]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/BrowseForFolder_20060411110413.zip[/file]
 

Pièces jointes

  • BrowseForFolder_20060411110413.zip
    624 bytes · Affichages: 24

Discussions similaires

Réponses
6
Affichages
307

Statistiques des forums

Discussions
312 326
Messages
2 087 312
Membres
103 513
dernier inscrit
adel.01.01.80.19