Salut à tous,

J'ai dans un form, fait appel à la boite de dialogue Sauver sous de windows trouvé ici, ça fonctionne très bien.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 'Déclaration de l API
Private Declare Function GetSaveFileName Lib "comdlg32.dll" _
        Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) _
        As Long
 'Structure du fichier
Private Type OPENFILENAME
  lStructSize As Long
  hWndOwner As Long
  hInstance As Long
  lpstrFilter As String
  lpstrCustomFilter As String
  nMaxCustFilter As Long
  nFilterIndex 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
 
 
Function EnregistrerUnFichier(Handle As Long, Titre As String, _
                    NomFichier As String, Chemin As String) As String
 
    'EnregistrerUnFichier est la fonction a utiliser dans votre formulaire pour ouvrir _
    la boîte de dialogue d'enregistrement d'un fichier.
    'Explication des paramètres
    'Handle = le handle de la fenêtre (Me.Hwnd)
    'Titre = Titre de la boîte de dialogue
    'NomFichier = Nom par défaut du fichier à enregistrer
    'Chemin = Chemin par défaut du fichier à enregistrer
 
    Dim structSave As OPENFILENAME
 
    With structSave
        .lStructSize = Len(structSave)
        .hWndOwner = Handle
        .nMaxFile = 255
        .lpstrFile = NomFichier & String$(255 - Len(NomFichier), 0)
        .lpstrInitialDir = Chemin
        .lpstrFilter = "Tous (*.*)" & Chr$(0) & "*.mdb" & Chr$(0) 'Définition du filtre (aucun)
        .Flags = &H4 'Option de la boite de dialogue
    End With
 
    If (GetSaveFileName(structSave)) Then
        EnregistrerUnFichier = Mid$(structSave.lpstrFile, 1, InStr(1,  structSave.lpstrFile, vbNullChar) - 1)
    End If
 
End Function


J'aimerais savoir comment empêcher la boite de message mettant le nom du fichier, car si j'annule la sauvegarde, la boite s'affiche quand même mais elle est vide.

Et si qq connait les différentes options de la boite de dialogue Save As ça serait sympa de les mettres; ex : Flags et autres.

Merci A+