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

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!

Snif, Mon problème est a ce point impossible que personne n'a d'idée?

Bonjour,

Hum... Userform pas glop dans cette situation... Moi j'essaierai de voir la chose comme dans le fichier joint.

Ce n'est qu'un aperçu en gros hein (les boutons ne sont pas opérationnels) :

Seul l'affichage du planning correspond à ta demande mais l'ensemble est beaucoup plus maniable et transformable que dans ton projet. L'image de fond peut se mettre en arrière plan. Le planning est aisément redimensionnable. les boutons pas de problème. Il reste que pour un menu c'est très convenable mais ça n'a pas toutes les atouts d'un USF...

Nota : Global n'est pas une instruction VBA (à moins que ça ait apparu en 2013 !), il faut utiliser Public.

ça me semble une très mauvaise base de départ que de commencer par initialiser une variable Public

Conseil : pour nommer les constantes, variable publiques et Fonctions personnalisées je te recommande d'utiliser des majuscules.

Je te recommande d'utiliser des noms de variables, propriétés, noms divers de 8 caractères au maximum.

Une variable de ligne ne devrait pas dépasser 3 caractères. Une variable de ligne devrait être integer et non string

A+

Merci pour la réponse mais cela n'est pas ce que je recherche.

J'ai trouvé ceci

Private Sub UserForm_Initialize()

répertoire = ThisWorkbook.Path

Set f = ActiveSheet

f.Range("A1").CurrentRegion.Select

Set champExport = Selection

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("imageexport.gif")

End Sub

Mais j'obtiens des erreurs 1004 régulière (environ 1 fois sur 5) : la méthode copypicture de la classe range à échouée! et impossible de savoir pourquoi

De plus est-il possible de faire la même chose sans avoir a activer la feuille en question? lorsque j'essaie cela alors l'erreur 1004 est systématique!

Rechercher des sujets similaires à "copier range image placer controle"