Comment créer votre propre application simple avec VBA

Comment créer votre propre application simple avec VBA / les fenêtres

Si vous avez suivi certains des articles de programmation que j'ai publiés ici au MUO, vous savez que j'ai une grande histoire d'amour avec VBA.

Ce n’est pas tant le langage que j’aime, bien que très intuitif, c’est l’accessibilité. Si vous êtes déjà un utilisateur de Microsoft Office, vous n'avez besoin de rien de spécial, mais les tâches que vous pouvez accomplir sont assez spéciales..

Parmi les bases déjà abordées, citons l'utilisation de VBA pour la transmission d'informations. Passer toute information entre des applications VBA à l'aide du presse-papiers Passer toute information entre des applications VBA à l'aide du presse-papiers L'un des aspects les plus frustrants de l'utilisation de VBA dans des applications spécifiques est le suivant: qu'il n'est pas toujours facile d'obtenir deux applications “parler” les uns aux autres. Vous pouvez essayer des transactions très rapides… En savoir plus en utilisant le presse-papier, comment envoyer des courriels à partir d'Excel Comment envoyer des courriels à partir d'une feuille de calcul Excel à l'aide de scripts VBA Comment envoyer des courriels à partir d'une feuille de calcul Excel à l'aide de scripts VBA Notre modèle de code vous aidera à configurer e-mails automatisés à partir d'Excel à l'aide de CDO (Collaboration Data Objects) et de scripts VBA. En savoir plus et même comment créer un navigateur Internet avec VBA Comment créer votre propre navigateur Internet de base en utilisant VBA Comment créer votre propre navigateur Internet de base en utilisant VBA Lorsque vous arrêtez vraiment d'y penser, un navigateur Internet sous sa forme la plus simple est Ce n'est pas vraiment une application impressionnante. Je veux dire, oui, Internet est incroyable par rapport aux normes de quiconque. Le concept de liaison… En savoir plus .

Bien que de nombreux lecteurs aient trouvé ces articles utiles, dans certains cas, certains d'entre eux me connaissaient pour la première fois en matière de programmation - ils n'avaient jamais vu une ligne de code auparavant - et se plaignaient du fait que les instructions étaient encore trop compliquées à suivre..

Faire votre propre programme avec VBA

Donc, pour ceux qui aimeraient vraiment pouvoir écrire leur propre application VBA, mais qui n’ont jamais tapé une seule ligne de code auparavant, je vais vous expliquer comment créer votre tout premier programme informatique. Ce programme n'est pas pour les experts en programmation ou même pour les codeurs moyennement qualifiés - c'est pour les débutants.

Ne me crois pas? Doutez-vous que vous ayez la capacité d'écrire un programme réel? Eh bien, je suis ici pour vous prouver que vous pouvez écrivez votre propre programme quand vous voulez, en utilisant VBA. Je vais y aller doucement et je ferai de mon mieux pour que ce soit simple. Prêt?

Créer le cadre de votre application

Tout d'abord, vous devez choisir un produit Office existant déjà installé sur votre PC: Word, Excel, Powerpoint, Access ou tout autre. Dans cet exemple, je vais utiliser Excel pour créer mon application. La première étape consiste à accéder aux outils VBA en accédant à la barre d’outils et en cliquant sur “Vue”, puis “Barres d'outils” et alors “Boîte à outils de contrôle”.

J'étais sur un ordinateur avec une version légèrement plus ancienne d'Excel. Par conséquent, si vous utilisez Excel 2007 ou 2010, vous retrouverez les mêmes contrôles sous “Développeur” élément de menu, puis en cliquant sur “Insérer”. Ce que vous cherchez, c'est le contrôle du bouton de commande.

Cliquez dessus et tracez un bouton de commande sur la feuille de calcul. Dans Word ou d'autres applications MS, vous devrez placer le bouton à un endroit pratique. Le seul point du bouton est de lancer votre application. Une autre approche consiste à écrire une macro qui lance automatiquement votre script lorsque vous ouvrez le fichier Excel - mais cela dépasse le cadre de cet article. Pour l'instant, allons avec un bouton de commande.

Assurez-vous que le petit “Mode de conception” la sélection est “sur” - dans l'image ci-dessus, c'est l'icône triangle / règle / crayon. Ensuite, double-cliquez sur le bouton de commande que vous avez créé et l’éditeur de projet VBA s’ouvrira..

C'est la zone de développement où vous allez créer votre nouvelle application. La première chose à faire est de créer l’écran avant de votre application. Pour ce faire, cliquez avec le bouton droit sur le projet déjà ouvert - dans mon cas, il s'appelle “VBAProject” qui est le défaut. Ensuite, sélectionnez “Insérer” et “UserForm”.

Votre formulaire utilisateur est maintenant chargé dans votre projet sous le “Formes” dossier avec le nom par défaut de “UserForm1”.

Double-cliquez sur “Feuille1”. C'est le “code” derrière la feuille de calcul où vous avez créé le bouton de commande. Sur le panneau de droite, vous devriez voir le “CommandButton1” sélectionné et “CommandButton1_Click” code déjà là.

Ceci s'appelle un “une fonction”, et c'est ce qui fonctionne lorsque vous cliquez sur le bouton de commande dans la fenêtre de la feuille de calcul.

Alors, que voulez-vous que votre bouton de commande fasse lorsque vous cliquez dessus? Vous voulez qu'il charge le formulaire utilisateur que vous venez de créer. Vous faites cela en tapant une seule ligne, “Charger UserForm1”.

Maintenant que votre programme est configuré pour démarrer au moment où vous cliquez sur le bouton de commande que vous avez créé, il est temps de concevoir votre application réelle..

Tout d’abord, vous voudrez concevoir à quoi le programme ressemblera. Dans mon cas, je veux écrire un programme avec des champs de texte et des boutons. Le programme va prendre un tas de texte, et quand je clique sur un bouton, il va convertir tout le texte brut dans un fichier de sortie HTML que je peux copier dans mon blog en tant qu'article parfaitement formaté..

Pour concevoir le formulaire, cliquez avec le bouton droit de la souris sur “UserForm1”, et sélectionnez “Objet de vue”. Vous verrez le formulaire lui-même apparaître sur le côté droit de l'écran. Vous pouvez cliquer sur le formulaire et faire glisser les bordures pour le redimensionner à votre guise.

À l'aide de la boîte à outils Contrôles, vous pouvez ajouter des champs de texte, des étiquettes et des boutons de commande à votre formulaire. Si vous voulez vraiment faire preuve de créativité, vous trouverez également des cadres, des cases à cocher et des cases à cocher, des listes déroulantes et bien plus encore. Ce sont les composants de base de la plupart des applications de base là-bas.

Si la boîte à outils n'apparaît pas, vous pouvez la trouver sous les icônes de la barre d'outils dans le menu principal de l'éditeur. Lorsque vous la survolez, vous verrez le mot “boîte à outils” apparaitre. Il suffit de faire glisser chaque composant souhaité dans votre fiche et de lui donner l’air que vous souhaitez..

Lorsque vous placez chacun dans votre formulaire, faites très attention à la “Propriétés” boîte pour cet article. Vous voulez éditer le “(Prénom)” champ à quelque chose qui a un sens pour ce que vous utilisez, car ce nom est comment votre programme va faire référence à cet élément. Faites-en quelque chose de clair et logique.

Ajout de fonctionnalités intéressantes

Ce que vous avez déjà créé serait largement suffisant pour la plupart des applications. Vous pouvez cliquer sur des boutons et faire en sorte que les champs de texte interagissent avec la feuille de calcul Excel ou le document Word dans lequel vous avez créé l'application. Cependant, ce que nous faisions aujourd’hui, c’est essayer de créer une application qui puisse être utilisée en dehors de l’application Office. Dans mon cas, je veux créer une sortie dans un fichier sur mon ordinateur. Vous pouvez lire et écrire dans des fichiers en ajoutant ce qu'on appelle un “Référence” à votre projet.

Une référence est une sorte de “Ajouter” cela vous permet d'écrire dans votre programme des commandes supplémentaires que vous ne pourriez pas autrement sans la référence. Vous pouvez généralement trouver la liste des références sous “Outils” dans la barre d’outils et en sélectionnant “Références”. Pour la fonctionnalité d’E / S sur fichier, faites simplement défiler vers le bas et sélectionnez “Microsoft Scripting Runtime”.

Dans votre programme, vous pouvez accéder à tous les composants que vous avez créés sur votre formulaire en saisissant des éléments tels que textbox1.text, commandbutton1.caption, afin d'accéder aux informations contenues dans cet objet (comme le texte dans un champ de texte) ou changement cette information.

Dans mon cas, je veux le “Créer une sortie” bouton pour extraire tout le texte de tous les champs que j'ai créé, puis les écrire dans un fichier de sortie, formaté de manière spéciale.

En cliquant sur ce bouton, je vois le code de l'événement click du bouton. Le code ci-dessous peut paraître compliqué si vous n’avez jamais utilisé VBA auparavant, mais c’est vraiment pas mal si vous le regardez ligne par ligne..

Pour configurer la lecture et l'écriture de fichiers une fois que vous avez ajouté la référence, vous pouvez facilement le configurer en tapant les lignes suivantes:

Dim fso As New FileSystemObject Dim fnum Dim MyFile en tant que String MyFile = "c: \ temp \ OutputArticle.txt" fnum = Freefile ()

Qu'est-ce que cela fait? Eh bien, il met en place “Mon fichier” comme le chemin de votre fichier de sortie que vous voulez écrire, et il crée “fnum” comme identification du fichier “clé” pour le code. Enfin, vous connectez ces deux ensemble en tapant “Ouvrir MyFile For Output en tant que fnum” - et bam, vous avez votre connexion ouverte pour écrire dans le fichier tout ce que vous voulez en émettant Imprimer #fnum, text commandes, comme indiqué ci-dessous.

Voir les références ci-dessus à des choses comme txtHeaderImage et txt1stSection? Ceux-ci devraient en réalité être txtHeaderImage.text, mais avec VBA, vous pouvez utiliser des raccourcis comme celui-ci - en laissant de côté .text dans le cas d'éléments comme des champs de texte, et votre programme fonctionnera toujours..

Une fois que j’ai fini d’imprimer le texte contenu dans tous les champs de texte de l’écran principal de l’application, tout ce que je devais faire pour texte était de revenir en arrière. “Conception” en mode, cliquez sur les boutons, puis allez voir à quoi ressemble le fichier de sortie.

Effectivement, il y avait mon code Web, tous mis en forme avec les balises HTML requises que j'ai définies dans mon programme, et tout le texte de ces champs de texte placés là où ils étaient censés aller.

Si vous y réfléchissez, vous pouvez faire n'importe quoi avec une application comme celle-ci. Vous pouvez créer un simple formulaire de saisie pour la saisie des données, qui les exporte ensuite dans un fichier CSV ou directement dans la feuille de calcul Excel en arrière-plan. Vous pouvez écrire une application qui lit des informations dans un fichier texte, les met en forme ou effectue des calculs, puis les charge dans une feuille de calcul..

Les possibilités ne sont vraiment limitées que par votre propre imagination en matière de VBA. Vous n'avez pas à acheter un package de développement coûteux tel que Visual Studio: ouvrez simplement un programme MS Office, passez à l'éditeur VBA et vous êtes un programmeur instantané..

Avez-vous essayé de créer votre propre application VBA? Était-ce aussi difficile que vous le pensiez? Êtes-vous un programmeur VBA habituel au travail ou à la maison? Partagez vos pensées et vos idées sur votre amour pour VBA dans la section commentaires ci-dessous.

Crédit d'image: Photo de l'ordinateur via Shutterstock

En savoir plus sur: Développement d'applications, Programmation, Programmation Visual Basic.