Sendkeys probleme "^v"

Salut a tous

Je demande un peu d'aide concernant la fonction sendkeys dans Excel en Vba. Mon but est :

  • d'ouvrir un pdf via adobze reader
  • de selection l'ensemble
  • de le copier
  • de fermer le pdf
  • d'ouvrir une nouvelle feuille excel
  • de coller les données

le probleme est que le collage ne fonctionne pas.Le message de fin me dit ok mais pas de donnees dans le fichier excel. Par contre si je fais le collage en manuel, cela fonctionne. j'ai mis des tempo un peu de partout mais cela ne change rien et changé les sendkeys par application.sendkeys et meme resultat.

De plus lorsque je lance la macro la touche verr num bascule

Le code ci dessous

Sub renommerpdf()

Dim wbk1, wbk3 As Workbook                            ' DEFINITION DE VARAIBLE
Set wbk1 = ThisWorkbook                         ' DEFINITION DE VARIABLE CLASSEUR

    AppActivate ("Adobe Reader")
        Application.Wait (Now + TimeValue("0:00:02"))   ' ATTENTE
            SendKeys "^a", True                             ' SIMULATION TOUCHE SELECTIONNER TOUT
        Application.Wait (Now + TimeValue("0:00:02"))   ' ATTENTE
            SendKeys "^c", True                                  ' SIMULATION TOUCHE COPIER
        Application.Wait (Now + TimeValue("0:00:02"))   ' ATTENTE
            SendKeys "^q", True
        Application.Wait (Now + TimeValue("0:00:02"))
    AppActivate ("Microsoft Excel")
            Set wbk3 = Workbooks.Add
                wbk3.Sheets(2).Activate
                wbk3.Sheets(2).Range("A1").Select ' ACTIVATION DE LA CASE A1 DE LA FEUILLE
        Application.Wait (Now + TimeValue("0:00:02"))
            SendKeys "^v", True                                  ' SIMULATION TOUCHE COLLER

    MsgBox ("ok")

Avez vous une idée ?

Merci pour les futures répônses

Bonjour,

un test : peux-tu faire "coller" manuellement à la fin de la procédure auto en ouvrant une nouvelle feuille excel ?


je te relis :

MisterT2000 a écrit :

Par contre si je fais le collage en manuel, cela fonctionne.

juste le coller ?

Bonjour,

As-tu essayé de coller avec Paste ?

Pour @steelson : je fais un coller en manuel après la macro et les donnes se collent bien dans la case du fichier Excel

Pour @MFernand : le selection.paste me retourne une erreur 438 propriété ou méthode non gérée par cette objet

Merci à vous d'autres idées

Oui parce que ta sélection est alors une plage !

A défaut de réécrire en éliminant les Select... essaie plutôt :

ActiveSheet.Paste

Pour moi ton code est bon, même sans les tempo (mais avec sendkeys il vaut mieux parfois les mettre en effet).

Le message de fin me dit ok

S'il n'y a pas d'erreur, c'est normal, la macro a bien envoyé Ctrl+V, mais dans le vide.

Le problème se situe au niveau de l'activation de wbk3 et de la feuille2.

Du reste, en ce qui me concerne, j'utilise en effet paste et jamais de sendkeys entre 2 classeurs excel.

C'est là qu'il faut corriger (je n'ai pas la solution immédiate).


MFerrand (hello !) a sans doute la solution (du reste simple).

Salut Steelson !

C'est à tenter... ! Avec SendKeys, je trouve qu'il y a souvent une part d'aléas...

J'ai juste fait un test sur la partie finale :

Sub Macro1()
Dim wbk3 As Workbook

Selection.Copy ' je simule ici une recopie d'une plage de cellules

Set wbk3 = Workbooks.Add
wbk3.Sheets.Add After:=ActiveSheet
ActiveSheet.Paste

End Sub

no problem !

@MisterT2000 : résultat des courses ?

Rechercher des sujets similaires à "sendkeys probleme"