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 :

Equivalent "Enregistrer sous"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Par défaut Equivalent "Enregistrer sous"
    Bonjour à toutes et à tous,

    Je souhaiterais donner la possibilité à l'utilisateur de mon classeur d'enregistrer une sélection prédéfinie des résultats obtenus après lancement de macros au format PDF.

    J'arrive très bien à enregistrer une copie PDF dans le dossier où se trouve le classeur. J'aimerais que l'utilisateur puisse renseigner le chemin dans lequel il souhaite enregistrer le PDF (à la façon "Enregistrer sous"). La méthode que j'utilise pour le moment : lui faire renseigner le chemin EXACT à la main, pas très pratique.. Existerait-il un moyen de faire apparaitre les chemins à la façon d'enregistrer sous pour qu'il le sélectionne ?

    Merci d'avance de votre aide

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, voir dans la FAQ http://excel.developpez.com/faq/?page=FenetresExcel
    , de plus l'usage de [F1] et de l'enregistreur de macros n'est pas prohibé

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Par défaut
    Tout à fait, d'où le fait que j'ai (copieusement) abusé de l'enregistreur de macros avant de poster En revanche, il semblerait que j'ai mal orienté ma recherche sur le forum puisque je n'avais pas trouvé le lien que tu m'as transmis, merci beaucoup

    Avec ma précédente méthode, j'arrivais à indiquer la sélection à enregistrer en PDF :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("A1:P" & 30 * i).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & NomFichier & ".pdf"
    En essayant de m'inspirer de ton lien, j'arrive au code suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub TOPDF3(NomFichier As String)
     
        Dim objSaveBox As FileDialog
        Set objSaveBox = Application.FileDialog(msoFileDialogSaveAs)
        With objSaveBox
            .InitialFileName = NomFichier & ".pdf"
            '(la valeur 25 Permet de spécifier les classeurs "PDF" lorsque vous êtes dans Excel 2007)
            .FilterIndex = 25
     
            .Show
            .Execute
        End With
     
    End Sub
    Comment indiquer dans ce code la sélection que je souhaite enregistrer au format PDF ? En l'état, le code bugge puisqu'il comprend que je souhaite enregistrer l'ensemble du projetVB au format PDF, ce qui est bien sûr impossible..

    Merci encore de ton aide

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Par défaut
    Réponse à moi-même : J'ai raisonné en 2 temps. Dans un premier temps un userForm récupère le nom à donner au fichier à enregistrer. Ensuite s'ouvre un FileDialog pour récupérer le dossier sélectionné où enregistrer. Les 2 données sont enfin envoyées à la macro TOPDF2 qui enregistre au format PDF :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Utilisation_FileDialog_SelectionDossier(NomFichier As String)
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "Choix du dossier où enregistrer"
            .Show
            If .SelectedItems.Count > 0 Then
                Call TOPDF2(NomFichier, .SelectedItems(1), Worksheets(4).Range("B8").Value)          ' MsgBox .SelectedItems(1)
            End If
        End With
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub TOPDF2(NomFichier As String, Chemin As String, i As Integer)
    ActiveSheet.Range("A1:P" & 13 + 2 + 14 * i + 1).ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & NomFichier & " - Dimensionnement des MALT.pdf"
    End Sub
    Cela fonctionne, à ceci près que la police semble changer entre le document Excel et le PDF généré. Comment expliquer cela ?
    Si vous avez une piste, je suis preneur

    Merci d'avance !

Discussions similaires

  1. [C#] Boîte de dialogue "Enregistrer sous"
    Par TmDsbsBs dans le forum ASP.NET
    Réponses: 22
    Dernier message: 31/10/2013, 17h55
  2. Equivalent de rownum sous SQL server
    Par Isildur dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/07/2009, 15h48
  3. Rechercher enregistrement avec ' (quote)
    Par jpo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/08/2007, 17h54
  4. Applicatifs equivalent MS exchange sous linux
    Par MarcG dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 13/04/2004, 17h57

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