Enregistrement / Chargement de données

JulioMomo Messages postés 2 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 25 février 2004 - 25 févr. 2004 à 12:27
letoiia Messages postés 40 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 13 août 2008 - 25 févr. 2004 à 16:59
Salut !!

Bon le problème est le suivant :

sous vba, version excel 97, j'ai mis en place un UserForm dans lekel l'utilisateur rentre des données qui seront traitées par la suite.

j'ai également mis en place 2 command button, un pour sauvegarder et un pour charger les données saisies par l'utilisateur.

pour ce faire, g utiliser la procédure Open "..." for random as #1 len=... ainsi que la procédure put#1 et close#1
pour le chargement, c'est la procédure get#1 qui est utilisée (classique)

le problème est que la procédure open ne permet pas de choisir dans kel répertoire l'utilisateur peut sauvegarder son fichier, ou alors il y en a une, et j'aimerais bien la connaitre^^

je recherche donc un code permettant à l'utilisateur de choisir lui même le répertoire dans lekel il veut enregistrer ses données, sans sauvegarder mon fichier excel sous lekel tourne mon prog

merci d'avance

Julio

3 réponses

letoiia Messages postés 40 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 13 août 2008
25 févr. 2004 à 16:44
Letoiia

'Permet d'afficher la boite de dialog d'ouverture de fichier
Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OpenFilename) As Long

'Permet d'afficher la boite de dialog d'enregistrement de fichier
Public Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OpenFilename) As Long

Public Type OpenFilename
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
iFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

'Fonction qui affiche une boite de dialogue permettant l'ouverture d'un fichier avec l'extention
Public Function OpenFileDialog(LibExtension As Variant, Extension As Variant, InitDir As String, hwnd As Long, Title As String, Optional BlnOpen As Boolean = True, Optional SelectExt As Long) As String
On Error GoTo Gestion_des_erreur
Dim ofn As OpenFilename
Dim StrFiltre As String
Dim I As Long

StrFiltre = ""
ofn.lStructSize = Len(ofn)
ofn.hwndOwner = hwnd
For I = 1 To UBound(Extension)
StrFiltre = StrFiltre & LibExtension(I) & "(*." & Extension(I) & ")" & Chr$(0) & "*." & Extension(I) & Chr(0)
Next I
ofn.lpstrFilter = StrFiltre & Chr$(0) & Chr(0)
ofn.lpstrFile = String(256, 0)
ofn.nMaxFile = 255
ofn.lpstrTitle = Title
ofn.lpstrInitialDir = InitDir
ofn.flags = &H800000 + &H1000 + &H8 + &H4
If BlnOpen Then
GetOpenFileName ofn
Else
GetSaveFileName ofn
End If
If Mid(ofn.lpstrFile, 1, 1) <> Chr(0) Then OpenFileDialog = ofn.lpstrFile
If OpenFileDialog <> "" Then
Do While Right(OpenFileDialog, 1) = Chr(0)
OpenFileDialog = Left(OpenFileDialog, Len(OpenFileDialog) - 1)
Loop
End If

' 'Création du fichier si il n'existe pas
If Not BlnOpen Then
If Right(OpenFileDialog, 3) <> Extension(ofn.iFilterIndex) Then
OpenFileDialog = OpenFileDialog & IIf(Extension(ofn.iFilterIndex) <> "*", "." & Extension(ofn.iFilterIndex), "")
End If
End If

SelectExt = ofn.iFilterIndex

Exit Function

Gestion_des_erreur:
MsgBox "Function : OpenFileDialog; " & Err.Number & " : " & Err.Description
OpenFileDialog = ""
Exit Function
Resume
End Function

voilà
bon courage.

Cordialement
0
JulioMomo Messages postés 2 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 25 février 2004
25 févr. 2004 à 16:53
ok merci, ça marche direct !! c mon boss qui va ètre content^^

bobye !!
0
letoiia Messages postés 40 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 13 août 2008
25 févr. 2004 à 16:59
Letoiia

de rien.
0
Rejoignez-nous