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 Discussion :

Ouvrir et enregistrer PDF avec VBA Excel


Sujet :

VBA

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 30
    Points : 9
    Points
    9
    Par défaut Ouvrir et enregistrer PDF avec VBA Excel
    Bonjour à tous!

    Voilà, j'aimerai pouvoir, avec une macro vba sur excel, ouvrir un pdf et l'enregistrer dans un autre dossier.

    Voyez-vous comment faire?

    Merci!

  2. #2
    Expert éminent sénior
    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
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, tu as Excel et l'enregistreur de macro ainsi que ceci avec cette liste pour y naviguer : Liste des contributions et téléchargements
    Il te reste aussi F1 sur Name ... As, FileCopy
    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
    Option Explicit
     
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                                          (ByVal hwnd As Long, _
                                           ByVal lpOperation As String, _
                                           ByVal lpFile As String, _
                                           ByVal lpParameters As String, _
                                           ByVal lpDirectory As String, _
                                           ByVal nShowCmd As Long) As Long
    Private Const SW_SHOWNORMAL = 1
     
    Sub Tst()
    Dim sFichier As String, hwnd As Long
        sFichier = "C:\Faq\Faq VBA\Exemples\PDF\PdfDistiller\Essai_Distiller.pdf"
        ShellExecute hwnd, "Open", sFichier, 0&, 0&, SW_SHOWNORMAL
    End Sub
    Tout cela demande un minimum d'effort , n'attends pas du tout cuit.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 30
    Points : 9
    Points
    9
    Par défaut
    J'ai déjà pris connaissance de ce post (très bien rédigé d'ailleurs!) mais je ne vois pas ce que je recherche (celui qui se rapprocherait le plus de ce dont je recherche est le premier).

    J'ai déjà pas mal de lignes de code et j'aimerai une méthode simple type saveas mais pour un pdf (ou shell je pense) qui me permette simplement d'ouvrir, d'enregistrer dans un autre dossier et de fermer mon pdf. Je n'arrive pas à trouver de méthode simple pour ça, aurais-tu une idée justement?

    Merci encore!

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    As-tu besoin de l'ouvrir ou dois-tu seulement le copier d'un dossier vers un autre dossier?

    Si tu l'ouvres juste pour le renommer (= déplacer), ce n'est ni un problème Excel ni un problème pdf, mais un simple problème vba et il n'est pas nécessaire d'ouvrir le fichier pour cela. il faut utiliser, tant pour l'ancien nom que pour le nouveau, le chemin complet des fichiers

    Pour renommer (= déplacer), tu peux utiliser Name. Le fichier de destination de peut pas préexister à la manoeuvre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Name OldName As NewName
    Pour déplacer en écrasant le fichier de destination s'il existe (L'absence de Kill effectue une copie et non un déplacement)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    filecopy OldName, NewName
    kill Oldname ' A utiliser pour un déplacement, à oublier pour une copie
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 30
    Points : 9
    Points
    9
    Par défaut
    Merci pout ta réponse! Oui ça ressemble plus à ce que je veux effectivement!

    Tu as raison, je n'ai nul besoin d'ouvrir le document car je n'ai pas à le renommer, je dois simplement le copier d'un dossier A et le coller dans un dossier B

    As-tu une idée?

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    C'est en toutes lettres dans ma première réponse

    Je t'ai donné la solution pour le déplacer (Name xxx as yyy) et pour le copier (filecopy xxx, yyy)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 30
    Points : 9
    Points
    9
    Par défaut
    Cette fonction, ne va-t-elle pas uniquement renommer le fichier?

    Comme je peux entrer mes deux chemins dans cette fonction?

    Je te remercie!

  8. #8
    Expert éminent sénior
    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
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, tu ne lis pas, cela est également déjà signalé dans mon post 2
    Extrait :
    Dim OldName, NewName
    OldName = "OLDFILE": NewName = "NEWFILE" ' Define file names.
    Name OldName As NewName ' Rename file.

    OldName = "C:\MYDIR\OLDFILE": NewName = "C:\YOURDIR\NEWFILE"
    Name OldName As NewName ' Move and rename file.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 30
    Points : 9
    Points
    9
    Par défaut
    Pourquoi être agressif? Je n'arrive simplement pas à comprendre ton code et comment l'utiliser...

    C'est pour ça que je demandais s'il existait une méthode "simple" pour effectuer un simple copier coller d'un fichier d'un point A vers un point B..

    Je lis tes réponses, je te remercie de répondre mais serait-il possible de m'indiquer ou mettre le nom de mon fichier, le chemin A et le chemin B

    Merci encore!

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Filecopy Anciennom, nouveaunom

    Anciennom = nom complet (chemin complet compris)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 30
    Points : 9
    Points
    9
    Par défaut
    Merci pour vos réponses précieuses!!!

    La citation ne s'était pas chargée et je ne voyais donc pas le code, cela venait donc bien de mon coté

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 30
    Points : 9
    Points
    9
    Par défaut
    Bonjour

    Je reviens vers vous car j'ai bien utilisé votre code et celui ci fonctionne parfaitement!

    Je voulais savoir s'il était possible de rajouter une petite variante ou de modifier ce code afin qu'il conserve également le fichier d'origine, c'est à dire qu'au lieu de le déplacer, il le copie/colle

    Merciiii!

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je t'avais proposé les deux solutions... Rename qui déplace et FileCopy qui copie. Il suffit donc d'utiliser FileCopy sans la ligne KILL... que je t'avais donnée
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. [Toutes versions] PDF Creator & VBA - Fusion de PDF avec liste excel
    Par maxxgraph dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/11/2017, 16h58
  2. Copier un Fichier PDF dans un répertoire avec VBA Excel
    Par Sawyeer dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/06/2016, 02h37
  3. envoi mail outlook avec vba excel
    Par momolamoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/09/2010, 10h45
  4. Enregistrer un fichier Excel en PDF avec Vba
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/01/2009, 13h44
  5. Ouvrir un fichier pdf avec Access VBA
    Par dflamme dans le forum VBA Access
    Réponses: 29
    Dernier message: 14/10/2008, 11h41

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