Transférer une image du presse-papier directement dans un contrôle Image

Herdet

Nous a quitté
Repose en paix
Bonjour,

Après quelques heures de recherche, les réponses trouvées dans XLD et sur le Web ne sont pas très satisfaisantes et donc je sollicite votre aide.

Actions déjà effectuées :
Une copie partielle de l'écran est sauvée par API dans le presse-papier par la Function BitBlt Lib "Gdi32"
J'ai testé l'export vers disque dur en passant par un objet Chart sur une feuille.
Cette méthode fonctionne mais ne donne pas un résultat très optimisé en BMP ou JPG.
Le LoadPicture donne un résultat non satisfaisant dans les 3 modes fmPictureSizeModeStretch, fmPictureSizeModeZoom ou fmPictureSizeModeClip du Image1.PictureSizeMode.

Je souhaiterai effectuer les actions suivantes en VBA ou API :
1) Transférer cette image du presse-papier directement dans un contrôle Image
sans passer par une copie sur disque dur ni un LoadPicture (déjà fait)

2) Transférer cette image du presse-papier vers le disque dur en JPG, BMP, GIF par une méthode simple (VBA ou API )

La fonction Clipboard de VB6 n'est pas applicable en VBA, c'est bien gênant.

Merci bien
Robert
 

Staple1600

XLDnaute Barbatruc
Dernière édition:

Herdet

Nous a quitté
Repose en paix
Re : Transférer une image du presse-papier directement dans un contrôle Image

Bonjour à tous

Herdet
Et le fameux module de Stephen Bullen ?
Pas intéressé non plus ?
https://www.excel-downloads.com/threads/copier-une-image-dans-le-presse-papier.187956/

Attention à la poussière ;) (ci-dessous le VBA en question)
https://www.excel-downloads.com/threads/insertion-dun-graphique-dans-un-usf.37013/


Bonjour Staple,
le fameux PastePicture de Stephen Bullen à été la raison de ma question.
j'aurais dû dire dans mon message que je l'ai déjà lu mais je n'ai pas encore tout digéré pour l'appliquer
C'est une vraie usine à gaz ce module du 15/12/1998 avec OLE Automation

Le VBA 2010 ou les API 2010 devraient faire mieux, non ?

A+
Robert
 

Staple1600

XLDnaute Barbatruc
Re : Transférer une image du presse-papier directement dans un contrôle Image

Re


Herdet
En cherchant sur le web anglophone, je me suis rendu compte que le 64 bits fait encore des siennes ;)
Donc au cas ou cela peut intéresser les petits camarades en 64 bits (bien que je me demande où il sont passés ;)
Voir cette version "upgradée" du dit fameux module.

NB: Le point 2 semble plus facile à creuser.
Et plus je creuse, plus je tombe sur Stephen Bullen ;)

PS: Au fait, Excel c'est bien un tableur, non ? ;)
 
Dernière édition:

Herdet

Nous a quitté
Repose en paix
Re : Transférer une image du presse-papier directement dans un contrôle Image

Re

Herdet
En cherchant sur le web anglophone, je me suis rendu compte que le 64 bits fait encore des siennes ;)
Donc au cas ou cela peut intéresser les petits camarades en 64 bits (bien que je me demande où il sont passés ;)
Voir cette version "upgradée" du dit fameux module.

NB: Le point 2 semble plus facile à creuser.
Et plus je creuse, plus je tombe sur Stephen Bullen ;)

PS: Au fait, Excel c'est bien un tableur, non ? ;)
Décidément, on doit chercher sur les mêmes sites dont vbaexpress, vbSources, vbFrance, Developper.com, Bullen, J. Walk, Pearson, allapi.mentalis.org, Boisgontier, Excelabo,...
C'est cette version PastePictureWin32 un peu allégée que j'ai collé hier dans mon code mais c'est toujours du Bullen indigeste. On tourne en rond mais je vais m'y remettre.

Excel, un tableur ? Allons donc !
C'est la question que se posait déjà F. Sigonneau en 2003 sur Ce site n'existe plus et depuis, on sait que le tableur n'est que la partie émergée d'Excel.
Certaines applications serait bien plus performantes en VB mais plus compliquées à mettre en oeuvre.
 

Staple1600

XLDnaute Barbatruc
Re : Transférer une image du presse-papier directement dans un contrôle Image

Re

Herdet
mais c'est toujours du Bullen indigeste.
Euh ceci n'engage que toi ;)

Car vu la somme des outils qu'il met a disposition sur son site, je ne dirai pas cela ;)

Et je persiste : Excel est d'abord un tableur (VBA est venu ensuite ;) )

NB:
Décidément, on doit chercher sur les mêmes sites
C'est pas qu'on cherche sur les mêmes sites, c'est plus que G..gle affiche peu ou prou les mêmes résultats sur ton PC et sur le mien ;)
 

Herdet

Nous a quitté
Repose en paix
Re : Transférer une image du presse-papier directement dans un contrôle Image

Re
Herdet
Euh ceci n'engage que toi ;)
Car vu la somme des outils qu'il met a disposition sur son site, je ne dirai pas cela ;)
Et je persiste : Excel est d'abord un tableur (VBA est venu ensuite ;) )
NB:
C'est pas qu'on cherche sur les mêmes sites, c'est plus que G..gle affiche peu ou prou les mêmes résultats sur ton PC et sur le mien ;)
Pour Bullen, le coté indigeste ne concerne que cette procédure de 98 un peu complexe. et vieillotte.

J'ai débuté sur tableur pur et dur, il y a bien longtemps avec Visicalc sur Apple II et Multiplan sur Mac puis tous les Excel et le VBA (né en 1993) donc je confirme ; Excel à la base est bien un tableur mais la boite à outils à énormément évoluée en 25 ans.

Coté G..le$, c'est sûr, les résultats sont assez similaires lorsqu'on saisit les mots justes et dans le bon ordre.
 

Herdet

Nous a quitté
Repose en paix
Re : Transférer une image du presse-papier directement dans un contrôle Image

Bonjour,

Staple1600:
J'ai trouvé dans mes archives un fichier d'application du PastePicture de Stephen Bullen.
Dans le fichier "RD-Stephen Bullen-Exemple PastePicture.xls" j'ai ajouté le PtrSafe dans les déclarations pour le 64 bits.

Cette procédure réponds bien à mes questions pour la copie dans un contrôle image et l'export en format emv.
Ce format me convient car vectorisé, pas trop volumineux et l'image exportée est excellente.

Toutefois dans l'appli, il y a un problème d'affichage car le graphique n'est pas copié dans le presse-papier par la fonction CopyPicture de la UserForm en utilisant le format BMP alors que pour l'EMV c'est OK.

Code:
'Update the chart type and copy it to the clipboard, as seen on screen
With oCht
    .ChartType = iChartType
    .CopyPicture xlScreen, lPicType, xlScreen
End With

Si tu as une idée, je suis preneur.
Merci
Robert
 

Pièces jointes

  • Stephen Bullen-Exemple PastePicture.xls
    82 KB · Affichages: 81
  • RD-Stephen Bullen-Exemple PastePicture.xls
    84 KB · Affichages: 69

Staple1600

XLDnaute Barbatruc
Re : Transférer une image du presse-papier directement dans un contrôle Image

Bonjour à tous

Herdet
A part écumer le web anglophone , germanophone, francophone (dans l'ordre que tu souhaites) avec les mots-clés adéquats, non, je n'ai pas d'idée.

Et comme je ne sais pas dans quel contexte tu as besoin de faire ce que tu veux faire, j'ai encore moins d'idées. ;)
 

Discussions similaires

Réponses
39
Affichages
5 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise