Obtenir le code VBA d'un groupe de formes

Salut !

Je suis actuellement dans un projet de conception d'un nouveau jeu de cartes. Avant de mettre au point un jeu propre graphiquement, et étant débutant dans le domaine de game design, j'ai créé un premier modèle de carte avec le pack office. Je me suis servi de Word et j'ai assemblé différentes Shapes pour faire un groupe de Shapes. Ca donne ça :

screenshot 2021 07 30 173129

J'ai copié cette carte sur Excel, et j'aimerais pouvoir exploiter ce modèle pour générer une soixantaine d'autres cartes. Pour l'instant j'ai les données de toutes mes autres cartes dans mon tableur.

Je me suis donc lancé dans l'aprentissage du VBA, et j'ai codé un objet Carte qui contient dans ses propriétés toutes les informations nécessaires à la génération d'une carte. A présent, je dois passer à la partie graphique, pour que le contenu de mes objets Carte s'affiche sur des cartes. Etant un peu flemmard, je me suis demandé si il n'existait pas un moyen de récupérer le code derrière mon groupe de formes que j'ai créé purement graphiquement. A partir de ce code, j'espère pouvoir créér automatiquement les 60 cartes restantes selon ce même modèle (les créér à la main sur Word est un enfer :/). Je cherche donc un transformateur Objet Graphique -> Code VBA. Est ce que ça existe, et si oui comment faire?

Bonne journée

Bonjour Etidel,

Pourquoi passer par Word puisque sur Excel tu as accès au même possibilités de formes, d'icônes, d'images ou de texte.

Voir ci-dessous une carte réalisée en moins de 2mn.

carteimg

L'avantage est que chaque partie de l'image peut être groupée ou dégroupée.

Et que chaque partie est nommée et accessible par le volet sélection des Format de la Forme.

Donc copiable puis nommable à nouveau pour éviter des confusions d'objets.

Bonsoir X Cellus, merci pour ta réponse.

J'avais fait mes cartes sur Word car c'était plus simple pour visualiser l'impression. Ca ne pose pas de problème car le copier-coller fonctionne de Word à Excel. Je pense que ta méthode me fait gagner beaucoup de temps.

Le truc c'est que le jeu va peut être évoluer et je souhaiterais que le générteur puisse intégrer ces évolutions sans retoucher au code. Par exemple il se peut que le nombre de "petits rectangles" de couleur évolue. Je voudrais donc que mon générateur ait une option "nombre de petits rectangles", et que ceux-ci soient positionnés comme il faut qu'il y en ait 4 ou 9. Pour ça il me faut la position des petits rectangles actuels. Mais si je comprends bien, avec ta méthode, je vais devoir aller chercher manuellement les positions des formes avec des getters de position. J'aurais bien aimé quelque chose qui transforme le modèle que j'ai envoyé en une suite d'instructions, avec par exemple

rectangle en (10,7) de taille (54*23) de couleur jaune

pentagone placé dans le coin supérieur gauche de taille 7 et de couleur rouge

(Je connais pas encore les instructions pour creer une forme en vba)

Bonne soirée

Bonjour Etidel,

Voici un fichier créé pour exemple selon ta demande.

A finir pour le placement des mini-rectangles. Selon principe du codage des positions des formes en macro de copie d'images.

5classetidel.xlsm (127.88 Ko)

Salut X Cellus,

Merci pour ce fichier, il m'aide beaucoup. Je vais le regarder de plus près et essayer de le compléter.

Bonne continuation!

Rechercher des sujets similaires à "obtenir code vba groupe formes"