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

Macros et VBA Excel Discussion :

EXCEL VBA pb sur FileDialog(msoFileDialogSaveAs).Show


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut EXCEL VBA pb sur FileDialog(msoFileDialogSaveAs).Show
    Bonjour à tous.

    Je viens vers vous car j'ai un problème sur un fichier avec la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileDialog(msoFileDialogSaveAs).Show
    Explications:
    Via Excel j'ouvre une présentation ppt (powerpoint) et après qques traitements automatiques j'ouvre la boite de dialogue pour l'enregistrement de fichier (avec le nom du fichier déjà créé).

    Jusque là tout se passe bien, par contre lorsque j'enregistre le fichier, donc appuie sur le bouton "enregistrer", le fichier n'est pas enregistré.

    Je ne comprend pas pourquoi le fichier ne veut pas s'enregistrer?...
    Voici le code que j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SendKeys (STR_Nom)
    pptApp.FileDialog(msoFileDialogSaveAs).Show
    Auriez-vous une idée SVP ???

  2. #2
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    A mon avis, afficher la boite de dialogue ne te permet pas de le faire, il faut que tu récupère le nom et que tu sauve toi même.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Pourquoi asser par une boîte de dialogue ?
    Bonjour,

    Si c'est un objet PPT, il y a une méthode pour la sauvegarde.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim objPPT As PowerPoint.Presentation
    [..]
    objPPT.Save
    Bien sur il faut penser à ajouter une référence vers Microsoft Powerpoint nn

    A+

    Christophe

  4. #4
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Toujours en passant par la boite de dialogue, un code à adapter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub ZF_Enregistrer_Sous() 
        Dim REP As FileDialog
        Set REP = Application.FileDialog(msoFileDialogSaveAs)
        With REP
            .AllowMultiSelect = False
            .InitialFileName = CurDir 'Mettre ici le chemin avec le nom
           .Title = "Choix du dossier" & libdos
            If .Show = -1 Then
               ThisWorkbook.SaveAs Filename:=.SelectedItems(1)
            End If
        End With
     
    End Sub

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut
    Merci pour vos réponses je vais voir avec ce que vous m'avez dit.

    Le but de mon code est de ne pas enregistrer le fichier directement après mes traitements. J'ouvre simplement une boite de dislogue avec le nom du fichier pré-remplie mais libre à moi d'enregistrer le document sous un autre nom ou de ne pas enregistrer du tout.

    Seulement lorsque j'enregistre la première fois çà ne marche pas du tout.

    Je vous tiens au courant

  6. #6
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    à moi d'enregistrer le document sous un autre nom ou de ne pas enregistrer du tout.
    Dans ce cas mon code ci-dessu devrait te servir

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut
    Merci Alex.

    Le problème pour le moment avec ton code c'est qu'il me propose d'enregistrer mon fichier père Excel et non le fichier PPT généré par l'Excel.

    tu vois ce que je veux dire ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut
    OK j'ai réussit en adaptant ton code aalex 38.

    DU coup voici le bon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim REP As FileDialog
        Set REP = pptApp.FileDialog(msoFileDialogSaveAs)
        With REP
            .AllowMultiSelect = False
            .InitialFileName = STR_Nom
            If .Show = -1 Then
                pptPres.SaveAs Filename:=.SelectedItems(1)
            End If
        End With

  9. #9
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Le problème pour le moment avec ton code c'est qu'il me propose d'enregistrer mon fichier père Excel et non le fichier PPT généré par l'Excel.
    OK j'ai réussit en adaptant ton code aalex 38.
    Bravo

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

Discussions similaires

  1. [VBA/Excel] Utilisation de FileDialog(msoFileDialogSaveAs)
    Par daniel_gre dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/09/2008, 11h41
  2. excel vba condition sur deux colonnes
    Par Thibautrives dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/05/2008, 15h12
  3. EXCEL/ VBA Erreur sur le code VBA : rediriger l’erreur
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/12/2006, 16h28
  4. [Excel][VBA] Questions sur la hiérarchie des objets
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/08/2006, 14h59
  5. [Excel VBA] Boucler sur un userform
    Par tpv72 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/09/2005, 01h57

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