-
Dessiner en VBA
Bonjour,
Je travail pour un projet sous Excel, utilisant des macros VBA.
Je suis en train de refaire une application qui consiste en un modèle .xlt .
Les utilisateurs de l'application seront amenés à ouvrir le modèle, et à y remplir certaines informations.
Parmi ces informations, ils doivent faire un schéma dans une zone de dessin que je définis dans mon modèle.
Les utilisateurs en question, n'étant par définition pas des informaticiens, je dois leur simplifier au maximum cette tâche, sachant que les schémas à faire utilisent tous un nombre limité d' "objets" , et qu'ils doivent respecter le même formalisme.
L'idéal pour moi serait donc de mettre à leur disposition dans le modèle une barre d'outils personnalisée, comportant juste les boutons nécessaires au dessin qu'ils devront faire.
J'ai lu beaucoup de documentation là dessus et j'ai compris le principe de comment créer une barre d'outils et y ajouter des boutons. J'ai même compris comment éditer l'image (ou icône) de chaque bouton. Mais comment faire pour expliquer à Excel que ces boutons doivent être utilisables comme ceux de la barre d'outils Dessin, c'est à dire il faut qu'on puisse les faire glisser de la barre d'outils vers la zone de dessin. Y a-t-il une macro VB qui permette de faire ça ?
Alors , lorsque je ne fais que copier un bouton qui existe déjà dans la barre d'outils Dessin d'excel , dans ma barre d'outils personnalisée , ce bouton marche alors parfaitement pour faire des dessins. Mais je n'arrive pas à le faire pour mes propres boutons.
Voilà, si quelqu'un pouvait m'aider, ça serait très sympa.
Désolé pour la longueur
PS : si quelqu'un a une idée d'une autre façon de faire pour simplifier la tâche de dessiner , les idées sont bienvenues. Par contre il y a la contrainte que les dessins utilisent les mêmes "objets" (en l'occurence ce sont essentiellement des flêches, ou certaines figures géométriques un poil plus poussées que les formes géométriques de base qu'on trouve dans Paint)
-
Bonjour
Si j'ai bien compris !!!!!
Tes boutons doivent faire des rectangles, ronds, flèches,...... ? à un endroit précis ?
Une astuce pour trouver la macro qui doit être mise derrière tes boutons : fais des tests avec l'enregistreur de macro, et tu trouveras les lignes de codes, si j'ai bien compris.... bien sûr
Eric
-
Pour faire ce que tu souhaites, chaque bouton doit conduire à une macro qui insère le dessin du bouton.
Pour y parvenir, tu dois
- créer tes images et les placer dans un répertoire unique (pour faciliter le travail)
Pour chaque image,
- Créer l'icône correspondante à placer dans la barre d'outils
- Insérer temporairement l'icône dans une feuille Excel
- Insérer un bouton dans ta barre d'outils
- Affecter la copie de cette icône à ton bouton
- Affecter au bouton la macro qui insère l'image correspondante
- Passer au bouton suivant
Tu peux faire une macro unique paramétrée pour cette insersion, macro qui sera appelée depuis tes divers boutons.
Une fois terminé, supprimer les icônes placées temporairement dans la feuille de calculs (ou fermer le classeur sans enregistrer...)
A part les images et les icônes, tout peut "facilement" se faire par soft.
Une autre solution ? Je ne vois pas
C'est toi qui vois ;)
A+
Edit
Je viens de penser que ce lien pourrait t'intéresser.
Je vais voir si on je peux placer facilement une bibliothèque d'icônes sur une feuille de calculs (j'ai la bibliothèque et la feuille de calculs, y'a plus qu'à :mouarf: )
Edit bis
Bon, pour la bibliothèque d'icônes, c'est rapé. Pas réussi à insérer des icônes. :(
En outre, pour la copie d'image bmp sur le bouton, très facile manuellement, je n'ai pas réussi à le faire par soft :( :(
Pour continuer, l'appli qui me permettait de passer les .ico en .bmp et réciproquement, n'est plus installée sur mon PC :( :( :(
Enfin, et pour finir, je ne retrouve plus le CD :( :( :( :(
Bon, j'avais des icônes qui trainaient par là, comme je suis prêteur, je te les passe Pièce jointe 15172 :mouarf:
-
Merci , c'est super sympa.
Quel plaisir, de commencer la semaine avec des perspectives (j'avoue que j'étais un peu coincé vendredi aprem)