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 :

Ouvrir fichier PDF


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Ouvrir fichier PDF
    Bonjour à tous !!

    Je souhaite créer une macro qui m'ouvre un fichier PDF puis qui fait une sélection générale (CTRL-A) une copie (CTRL-C) puis qui va chercher mon classeur excel et coller la sélection dans ce classeur.

    J'ai fait le bout de code suivant. Mais rien ne se passe. C'est comme si la sélection ne se faisait pas.

    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
    Sub Macro1()
     
    Dim MaLigne As Variant
     
    retshell = Shell("C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe C:\Users\avial\Desktop\test.pdf")
     
    'Attendre 2 secondes
    Application.Wait (Now + TimeValue("0:00:02"))
     
    AppActivate (retshell)                                 'Donner le focus à Acrobat Reader
    SendKeys ("^{a}")                                             'Sélectionner tout avec CTRL-A
    AppActivate (retshell)
    SendKeys ("^{c}")                                             'Copier avec CTRL-C
     
    'Attendre 2 secondes
    Application.Wait (Now + TimeValue("0:00:02"))
     
    'AppActivate "Microsoft Excel" 'Redonner le focus à Excel
     
    retshell2 = Shell("C:\Program Files\Microsoft Office\OFFICE11\excel.exe C:\Users\avial\Desktop\TOTO.xls")
     
     
    AppActivate (retshell2)
    Sheets("Feuil1").Select
     
    MaLigne = Range("A65536").End(xlUp).Address
    MaLigne = Range(MaLigne).Row
    Sheets("Feuil1").Range("A" & MaLigne + 1).Select
    SendKeys ("^(v)")
    'ActiveSheet.Paste
     
     
    End Sub
    J'espère que l'un d'entre vous va pouvoir m'aider.

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 356
    Points
    34 356
    Par défaut
    salut,
    dans ta ligne de shell, il y a une espace dans le path du repertoire Adobe. Pour pallier a cette erreur, il faut encadrer le path par des ""
    essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    retshell = Shell("""C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe""" &  """C:\Users\avial\Desktop\test.pdf""")

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    J'ai fait le test et je pense que ce n'est pas la raison du problème car je n'arrive à présent plus à ouvrir mon fichier "test.pdf" alors que précédemment cela fonctionnait avant. Je pense que le problème se trouve au niveau de la sélection (CTRL-A) et (CTRL-C) car lorsque j'arrête l'exécution du programme je n'ai pas de sélection active.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    J'ai réussi à faire mon copier coller mais le problème est que je n'arrive pas à ouvrir mes différents fichiers en boucle. Le programme marche pour le premier fichier mais pas pour le second.
    Il me met une erreur au niveau de la ligne AppActivate (retshell).
    Peut etre cela est du au fait que le programme AcroRd32 tourne en fond dans le gestionnaire de tâches. Peut etre faudrait-il le décharger mais je ne sais pas comment faire.
    Je joins mon code pour illustrer mon cas ...

    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
    Sub Macro1()
     
    Dim MaLigne As Variant
    Dim retshell As Integer
     
    For i = 1 To 22
     
    retshell = Shell("C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe C:\Users\avial\Desktop\ECARTS PDF\test (" & i & ").pdf", vbNormalFocus)
     
    Application.Wait (Now + TimeValue("0:00:02"))
     
    AppActivate (retshell)
    SendKeys ("^{a}")
    SendKeys ("^{c}")
     
    Application.Wait (Now + TimeValue("0:00:02"))
     
    retshell2 = Shell("C:\Program Files\Microsoft Office\OFFICE11\excel.exe C:\Users\avial\Desktop\TOTO.xls", vbNormalFocus)
     
    AppActivate (retshell2)
     
    Sheets("Feuil1").Select
     
    MaLigne = Range("A65536").End(xlUp).Address
    MaLigne = Range(MaLigne).Row
    Sheets("Feuil1").Range("A" & MaLigne + 1).Select
    SendKeys ("^{v}")
     
    SendKeys ("^{s}")
    SendKeys ("%{F4}")
     
    AppActivate (retshell)
    SendKeys ("%{F4}")
     
     
    'Workbooks("PDF2XLS.xls").Activate
     
    Next
     
    End Sub
    Merci de votre aide

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    893
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 893
    Points : 833
    Points
    833
    Par défaut
    bonjour Arkamarasof, jpcheck,

    AppActivate avec le nom du titre de la fenêtre : pas l'instruction de lancement !

    La chaine est du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\avial\Desktop\ECARTS PDF\test (" & i & ").pdf
    De plus, Acrobat Reader ajoute au titre un truc du genre " - Adobe Reader" au titre de la fenêtre.

    A essayer.

    ESVBA

Discussions similaires

  1. Fenetre ouvrir fichier PDF
    Par haskouse dans le forum JSF
    Réponses: 4
    Dernier message: 03/09/2009, 10h45
  2. Ouvrir fichier PDF à partir lien hypertexte
    Par ln0331 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 03/12/2007, 13h43
  3. ouvrir fichier PDF dans excel et userform
    Par lindette dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/08/2007, 22h56
  4. ouvrir fichier pdf
    Par greg06500 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/08/2007, 18h34
  5. Ouvrir Fichier PDF
    Par smail21 dans le forum Delphi
    Réponses: 14
    Dernier message: 06/07/2006, 01h30

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