IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Renseignement sur la Boite de dialogue Save As


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut Renseignement sur la Boite de dialogue Save As
    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+

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour

    Je n'ai pas compris de quelle boîte de message tu parles.
    Si tu cliques sur Annler alors la fonction EnregistrerUnFichier renvoie une chaîne vide.

    Doc de la structure OPENFILENAME (utilisée avec GetOpenFileName et GetSaveFileName)
    Quelques définitions de constantes pour le paramètre Flags
    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
    Const OFN_ALLOWMULTISELECT = &H200&
    Const OFN_CREATEPROMPT = &H2000&
    Const OFN_DONTADDTORECENT = &H2000000
    Const OFN_ENABLEHOOK = &H20&
    Const OFN_ENABLEINCLUDENOTIFY = &H400000
    Const OFN_ENABLESIZING = &H800000
    Const OFN_ENABLETEMPLATE = &H40&
    Const OFN_ENABLETEMPLATEHANDLE = &H80&
    Const OFN_EXPLORER = &H80000
    Const OFN_EXTENSIONDIFFERENT = &H400&
    Const OFN_FILEMUSTEXIST = &H1000&
    Const OFN_FORCESHOWHIDDEN = &H10000000
    Const OFN_HIDEREADONLY = &H4&
    Const OFN_LONGNAMES = &H200000
    Const OFN_NOCHANGEDIR = &H8&
    Const OFN_NODEREFERENCELINKS = &H100000
    Const OFN_NOLONGNAMES = &H40000
    Const OFN_NONETWORKBUTTON = &H20000
    Const OFN_NOREADONLYRETURN = &H8000&
    Const OFN_NOTESTFILECREATE = &H10000
    Const OFN_NOVALIDATE = &H100&
    Const OFN_OVERWRITEPROMPT = &H2&
    Const OFN_PATHMUSTEXIST = &H800&
    Const OFN_READONLY = &H1&
    Const OFN_SHAREAWARE = &H4000&
    Const OFN_SHOWHELP = &H10&
    A+

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut
    Salut,

    En fait, quand je clic sur Enregistrer ou Annuler, tout se passe correctement, ensuite j'ai une petite boite de message qui s'affiche Titre : Microsoft office Access ; message : Le nom du fichier enregistrer et son chemin complet.

    Donc comment empécher l'affichage de cette boite, se n'est pas moi qui l'ai placée là.

    Merci

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut
    Salut,

    Toujours pas de solution !

    En fait quand j'annule enregistrer sous, la boite de message qui apparait quand la boite de dialogue se ferme, n'affiche rien, le message est vide.

    Donc j'aimerais annuler l'apparition de cette boite de message.

    Merci
    A+

  5. #5
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonsoir,

    Dans cet exemple on a une boîte de message uniquement si on clique sur Enregister.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim strSaveAs As String
     
    strSaveAs = EnregistrerUnFichier(0, "Enregistrer", "*.xls", "E:\")
    If Len(strSaveAs) > 0 Then MsgBox strSaveAs
    Sinon fais nous voir ton code qui appelle la fonction EnregistrerUnFichier.

    A+

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 246
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 246
    Par défaut
    Salut,

    Voilà, j'ai résolu le problème.

    En fait j'appelais la fonction EnregistrerUnFichier comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox= EnregistrerUnFichier(Me.hwnd, "Enregistrer Base DATA sous", NomSaveDATA, VarNameDriveBDD_DATA)
    J'ai changé MsgBox par StrSaveAs et c'est OK

    Merci pour ton aide.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur sur une boite de dialogue WXWIDGETS
    Par barbarello dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 06/01/2006, 20h46
  2. [JFileChooser] boite de dialogue save
    Par alex'l dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 24/08/2005, 15h00
  3. [MFC]Application basée sur des boites de dialogue
    Par -=Spoon=- dans le forum MFC
    Réponses: 2
    Dernier message: 24/08/2005, 11h55
  4. Récupérer le focus sur ma boite de dialogue
    Par Hokagge dans le forum MFC
    Réponses: 16
    Dernier message: 24/06/2005, 15h38
  5. Réponses: 1
    Dernier message: 30/05/2005, 17h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo