Se connecter / S'enregistrer
Votre question

VBA excel transformé en exécutable ?

Tags :
  • Visual basic
  • Programmation
Dernière réponse : dans Programmation
26 Juin 2008 16:23:10

salut à tous !
voila j'ai l'habitude de programmer en VBA Excel (Visual Basic for Application Excel). Cela me convient très bien tant que cela tourne sur mon ordinateur.
J'ai l'intention de faire une petite application qui tournerait sur mon site web. Le problème est que si je la fais en VBA Excel, il faut qu'un visiteur du site ait Excel sur sa machine.
On m'a dit qu'il faudrait transformer le code VBA en fichier exécutable (genre .exe). Comment faire ?
Sinon quel autre langage puis-je utiliser ?
merci d'avance.

Autres pages sur : vba excel transforme executable

26 Juin 2008 18:50:55

Salut,
Je ne connais pas d'outil permettant de transformer des macros excel en executable, et je doute qu'une telle chose existe.

Par contre, il doit être possible de les modifier un peu pour en faire une application en Visual Basic 6, vu que la syntaxe du VBA et celle du VB sont les mêmes (par contre, il y a des différences avec VB.Net, leur nouvelle version).

Peux tu préciser pourquoi tu en as besoin? A quoi sert ton application? Et que veux tu dire par "tourner sur ton site web?" Tu veux le faire télécharger? Dans ce cas, laisse juste le classeur en téléchargement sur ton site (de toute manière, même avec un .exe, les gens qui n'ont pas windows seront laissés sur le coté...)
27 Juin 2008 14:05:23

Merci de te pencher sur mon sujet.
Je voudrais qu'un utilisateur arrive sur mon site, clique sur un lien pour arriver sur la partie de mon site où l'attendra un QUESTIONNAIRE ILLUSTRE par un schéma. Il devra répondre en cliquant sur certaines parties du schéma.

Sinon, si c'est infaisable, voici une autre possibilité : il y a aurait un schéma, des questions, et plusieurs choix de réponses. Il pourra répondre en cochant la ou les bonnes réponses.
27 Juin 2008 17:48:20


Le VB/VBA n'est pas adapté à une application de ce type (développement web).

Il serait de loin préférable d'utiliser un langage comme le PHP (ou pourquoi pas de l'ASP [argh!]) pour réaliser cela.

Il serait peut être possible d'utiliser une technologie comme "Office Web Components", mais je ne sais pas si cela marcherait (et je te le déconseille: je ne pense pas que ce soit compatible avec autre chose que Internet Explorer; en plus il semblerait que le produit ait été abandonné.)

Je pense également que tu n'as pas une idée claire de comment un serveur web fonctionne. Tu ne peux pas faire exécuter un .exe par les gens qui visitent ton site directement sur le site, ils sont obligés de le télécharger sur leur machine pour faire leurs machins de leur coté.

En fait, tout est basé sur "l'architecture client/serveur". Je simplifie pas mal le truc, mais en fait ça se passe comme ça:

Le "serveur" communique avec des "clients". Le client, c'est ton navigateur (firefox, internet explorer, opera...) installé sur ta machine; le serveur, c'est un logiciel, ici un "serveur web" (par exemple Apache), installé sur une autre machine.

Le client et le serveur communiquent avec le protocole "HTTP": en gros, le client demande "passe moi la page http://www.infos-du-net.com/forum/Programmation/repondr..."; le serveur traite sa demande, et lui envoie une page en fonction de ce qui a été demandé.

Parfois c'est simple: c'est juste une page fixée une bonne fois pour toute (par exemple le genre de pages que tu met sur ton site en .html, ou un fichier que tu y as mis); le serveur la lit et envoie ce qu'il a lu, et c'est tout. C'est comme ça que les sites étaient faits avant, le problème c'est qu'il n'y a pas ou peu d'interactivité possible.

D'autres fois, le serveur va se rendre compte qu'il s'agit d'un code (exemple: page en .php), et se démerder pour l'interpréter: il va comprendre ce qui est programmé dans la page, et il va renvoyer le résultat. Là, l'interactivité est possible: en fonction des demandes du navigateur, on peut faire différentes choses (y'a plein de techniques).

Exemple: si dans la page il y a marqué "écris moi une liste déroulante des nombres de un à N+1", le serveur va pas renvoyer sur ton navigateur la phrase "écris moi le code HTML une liste déroulante des nombres de un à N+1", mais il va te renvoyer le code HTML généré, et ton navigateur va t'afficher une belle liste déroulante.

C'est là qu'on arrive au problème. Ton navigateur internet ne comprend que le HTML (on simplifie!). Le serveur ne sait qu'envoyer des informations (texte, HTML, fichiers) à ton navigateur.
Si tu demande au serveur "envoie moi le fichier monprogramme.exe" (http://mon-site.com/monprogramme.exe), il va te l'envoyer et point barre. Il ne sait et ne peut rien faire d'autre avec. Donc tu ne peux pas résoudre ton problème, ni avec un executable, ni avec excel.
Les deux choses que tu demandes sont possibles dans les langages que j'ai cité plus haut, comme le PHP: en fait, tout les langages que le serveur est capable de comprendre, et qui sont capables de produire du texte (contenant des balises HTML).

La première est plus complexe. Pour la seconde: tu peux faire une première page, avec le schèma contenu dans une image hébergée sur le site (balise <img>; le questionnaire représenté par des groupes de boutons radios (<input>) dans un formulaire (<form>).
La validation du formulaire t'enverra sur une autre page chargée de récupérer (par exemple grace à la méthode _POST), traiter et d'afficher tes données.

Si tu souhaite te mettre au PHP, ce que tu peux faire, c'est lire (et utiliser à bon escient):
http://php.developpez.com/
http://fr.php.net/
http://www.siteduzero.com/tuto-3-4-0-un-site-dynamique-...
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS