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

  • Initiateur de la discussion Initiateur de la discussion Herdet
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
Dernière édition:
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
 
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:
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.
 
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 😉
 
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.
 
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

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. 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
742
A
Réponses
2
Affichages
1 K
Adrien
A
Retour