XL 2010 [VBA] Compatibilité taille d'une image dans un Userform

Horusbk

XLDnaute Junior
Bonjour :)

Je cherche à créer un plan dynamique de mon entreprise via un userform. Je souhaite mettre en arrière-plan une image schématique de l'entreprise puis j'ajouterais par dessus des boutons de contrôle à des endroits stratégiques afin d'accéder aux liens voulus.

J'ai lu sur plusieurs forums que le format de mesure des userforms était le TWIP. J'ai donc voulu faire des conversions en centimètres afin de connaître le format de sortie de mon image et éviter des pertes de qualité lorsque cette dernière sera dans l'userform. Toutefois, un convertissant des twips en cm je me rends compte que les valeurs en cm sont extrêmement petites.... ce qui réduit grandement le format de mon image en sortie. :confused:

Je me permets de me tourner vers le forum pour avoir quelques lumières sur le meilleur moyen d'avoir une image de qualité que je pourrais ajouter en arrière-plan d'un userform tout en respectant l'échelle de l'un et l'autre. Je vous joins mon fichier de conversion au cas où (si mes calculs étaient faux :rolleyes: ).

Merci pour votre aide.
Baptiste
 

Pièces jointes

  • Conversion.xlsm
    15.4 KB · Affichages: 18

Dranreb

XLDnaute Barbatruc
Bonjour.
J'ai par hasard trouvé sur internet, aujourd'hui même, un truc que j'ignorais mais qui pourrait faire l'affaire: En ayant copié une image dans le presse papier depuis un logiciel comme Paint.net (gratuit), et sélectionné une propriété Picture d'un contrôle ou d'un UserForm, on peut faire Ctrl+V pour y coller l'image copiée !
Ce qui est hyper-rageant c'est de ne trouver aucun moyen de faire cela par du code ! J'ai cherché toute la journée, impossible de trouver.
J'estime hors de question de coller l'image dans un Chart temporaire, puis créer un fichier par .Export qu'on charge ensuite par un LoadPicture. Je préfère encore considérer que c'est purement et simplement impossible plutôt que d'utiliser ce seul moyen connu complètement absurde ! Mais je continuerai de chercher de temps à autres, jusqu'à ce que j'aurai fini par trouver.)
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Ça m'intéresse aussi, certes, mais il me semble que ce n'est pas votre problème. L'image de fond d'un UserForm y apparait comme elle apparait à l'écran en zoom 1 après l'avoir redimensionnée si nécessaire avec un logiciel de dessin, et si vous l'en copiez, vous pouvez la coller dans la propriété Picture dans la fenêtre de propriété du UserForm. Pourquoi cela ne vous suffirait-il pas ?
 

Horusbk

XLDnaute Junior
Bonsoir Dranreb,
Effectivement vous avez raison. Cette autre méthode m'intéresse dans le cas où l'image de fond qui est rendue est meilleure que celle qu'on ajoute via les propriétés de l'UserForm. En effet, les formats jpg et bmp sont pas terribles, contrairement au PNG et SVG qui ne sont malheureusement pas pris en charge :(

Bonne soirée :)
Baptiste
 

Dranreb

XLDnaute Barbatruc
Complètement d'accord avec vous pour jpg mais pas pour le bmp. Mais de toutes facçon ce que je vous propose c'est de ne pas passer par un fichier du tout mais de copier une image dans le presse papier et de faire Ctrl+V après avoir sélectionné la propriété Picture de l'UserForm dans sa fenêtre de propriété, et non d'y utiliser la flèche pour choisir un fichier.
 

Horusbk

XLDnaute Junior
Ah je pensais que le bmp n'était pas terrible, je vais essayer dans ce format dans ce cas. Parmi ceux acceptés est-ce le moins pire ?
ce que je vous propose c'est de ne pas passer par un fichier du tout mais de copier une image dans le presse papier et de faire Ctrl+V après avoir sélectionné la propriété Picture de l'UserForm dans sa fenêtre de propriété
En passant par un fichier, il faut que ce dernier soit en permanence sur le chemin source afin que l'image affichée il me semble ?
 

Dranreb

XLDnaute Barbatruc
Non. La source d'un contrôle Image est oubliée de toute façon. Mais vous n'avez aucun logiciel pour traiter l'image comme vous voulez puis la copier ? Les seuls défaut du bmp c'est de ne gérer ni transparence ni compression. La qualité possible est irréprochable. Je construit souvent des images calculées en bmp, parce que c'est le seul format que je sais écrire directement dans un fichier en accès direct avec des instructions Put. C'est du BitMap simple et fidèle.
 
Dernière édition:

Horusbk

XLDnaute Junior
Je viens d'essayer en collant dans la fenêtre "propriété" mais ça n'a pas donné l'effet escompté puisque j'avais créé mon espace de dessin photoshop en fonction de la taille de mon userform. J'ai donc enregistré sous mon image en bmp puis je l'ai ajoutée en arrière-plan de mon userform.

La bonne nouvelle est que mon image n'est pas déformée, par contre, les contours de mes formes ne sont pas très jolies. Y-a-t-il un moyen de régler cela ? Je pense que ça vient du format d'enregistrement mais j'ai cru comprendre que c'était le meilleur pour mon problème.

VBA.PNG

(un des schéma dont j'ai besoin)

Bien cordialement,
Horusbk
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 902
Membres
101 834
dernier inscrit
Jeremy06510