Bonjour à tous,

je n'arrive pas à faire un tout bête copier / coller entre 2 logiciels (Flexpro et Excel 2007) utilisant VB6 (VB 6.3 pour les 2).

L'erreur "Run-time error 1004" apparaît => " la méthode PasteSpecial de la classe Range a échoué ".

Ma macro est dans Flexpro, je la lance depuis VB de Flexpro.
Je crée un objet Excel et ouvre le fichier dans lequel je veux faire mon coller :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
' Création d'un objet Excel
Set oAppExcel = CreateObject("Excel.Application")
' Ouverture du fichier Excel à renseigner
sFichier = InputBox("Sélectionner le fichier Excel à renseigner", File, "H:\macro\toto.xlsx")
oAppExcel.Workbooks.Open (sFichier)
Après avoir sélectionné la donnée que je souhaite copier, j'ai essayé sans succès un collage spécial...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
ActiveDatabase.TaskWindows(fpTaskWindowObjectList).Activate
' selection de la donnée 
 
ActiveDatabase.Selection.SelectObject "Data"
ActiveDatabase.Selection.Copy
 
' optionnel
oAppExcel.Visible = True
 
oAppExcel.ActiveWorkbook.Worksheets("Feuil1").Range("B5").PasteSpecial (xlPasteValues)
Dans la FAQ VB l'exemple en RichTextBox ne m'aide pas...

c'est comme s'il n'y avait rien à coller. J'ai lu dans le forum qu'il y avait plusieurs presse-papier dans windows, j'ai essayé avec PutInClipboard je n'y arrive pas non plus.

Avez-vous une piste pour m'aider ?
Merci d'avance.

ToM