Copier un range en image et le placer dans un controle image sur un UserForm

ckeops

XLDnaute Nouveau
Bonjour à tous.
Petite précision pour commencer je suis sur excel 2013 et non 2010 mais le préfixe n'est pas disponible.

Besoin d'un petit peu d'aide avec grand espoir d'en trouver ici!

Voila je vous expose mon problème.

Je développe actuellement une application pour gérer un centre équestre.
Mon classeur est composer de plusieurs base qui sont gérer via une interface créée en userform.

Je me retrouve bloquer sur un point technique pour la partie gestion des planning et des cours.
ma base des cours est constitué. A partir de cette base j'ai développer une macro qui crée sur une autre feuille le planning hebdomadaire qui lui correspond. ce tableau est dimensionner et mis en page via la macro.

Je souhaite alors faire une image de ce planning et l'afficher dans le userform.
J'ai donc penser faire un copier du range contenant le planning, récupérer l'image ainsi copier dans le presse papier et remplir avec l'attribut image d'un contrôle image sur mon userform!

D’après mes recherches cela semble possible, cependant soit cela me fait passer par un enregistrement sur le disque dur ce que je ne souhaite pas puisque cette image sera mise à jour a chaque changement par l'utilisateur, soit cela donne des macro qui me colle tout simplement l'image dans une autre feuille ou dans un contrôle image mais sur la feuille et la complexité de ces codes est au dessus de mes compétences actuelles

Pour plus de compréhension je vous joint un exemplaire de mon travail en pièce jointe.
La base des cours est sur la feuille BaseCours
Le planning est sur la feuille PlanningCours. C'est le tableau (A1:G27) que je souhaite récupérer en image
Le contrôle image de destination souhaité se trouve sur le Userform "FormCoursetPlanning" et se nomme ImagePlanning

Il ne me reste plus qu'a espérer que l'un d'entre vous saura m'aider et à vous remercier par avance!
 

Pièces jointes

  • Gestion_Centre_Equestre.xlsm
    227.1 KB · Affichages: 142

Misange

XLDnaute Barbatruc
Re : Copier un range en image et le placer dans un controle image sur un UserForm

Bonsoir

essaie cela

Code:
Private Sub UserForm_Initialize()
  répertoire = ThisWorkbook.Path
sheets("feuil1").activate
  Set f = Sheets("feuil1")
  Set champExport = f.Range("A1").CurrentRegion
  champExport.CopyPicture
  f.ChartObjects.Add(0, 0, champExport.Width, champExport.Height).Chart.Paste
  f.ChartObjects(1).Chart.Export répertoire & "\" & "imageExport.gif", "gif"
  f.ChartObjects(1).Delete
  Me.Image1.Picture = LoadPicture(répertoire & "\" & "imageExport.gif")
End Sub


Pour indiquer que tu es sous 2013, c'est dans TON profil (pas au moment de poser la question) que tu peux le mettre. Nos admins l'ajouteront surement dans les questions prochainement pais ce n'est pas le cas actuellement.
 

ckeops

XLDnaute Nouveau
Re : Copier un range en image et le placer dans un controle image sur un UserForm

Merci misange mais c'est exactement la premiere version du code proposée par Boisgontier.
Je suis pas modo mais si je l'etait tu te ferais taper sur les doigts pour ne pas avoir lu tout le topic avant de repondre! Lol
 

ckeops

XLDnaute Nouveau
Re : Copier un range en image et le placer dans un controle image sur un UserForm

Et bien j'ai bien tout relu et comparé!
Tu ajoutes seulement un Sheets("Feuil1").activate qui sur mon test ne change rien!
(Et par ailleurs je ne vois pas pourquoi cela aurait changer quelque chose puisque que l'on active la feuille ou qu'elle le soit deja au lancement de la procedure comme c'est le cas dans le fichier joint de Boisgontier c'est du pareil au même)
Pour finir ce message je suis désolé si tu ne saisi pas une plaisenterie, je souhaite juste continuer ce topic pour qu'il puisse servir a d'autre, moi j'ai trouvé une astuce qui fait fonctionner le code, alors si c'est pour devenir desagreable je m'en contenterais.
A bon entendeur
 

Misange

XLDnaute Barbatruc
Re : Copier un range en image et le placer dans un controle image sur un UserForm

Parce que c'est moi qui devient désagréable ? C'est le monde à l'envers...
Je t'ai fourni un classeur exemple avec le code de JB légèrement modifié. Il fonctionne très bien chez moi, tu le testes sur d'autres PC il fonctionne. Pas chez toi. C'est donc difficile de tester ce qui cloche chez toi. L'erreur 1004 se produit fréquemment quant la feuille n'est pas active quand on fait la copie d'où ma proposition. Mais tu es certainement au courant de cela et je suis idiote de penser que tu n'avais pas testé cela. J'avais d'autres idées mais comme elles sont surement aussi idiotes je les remets dans ma guitare comme dit l'ami Georges.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa