Magazine Informatique

Découvrir le VBA (article invité)

Publié le 04 juillet 2013 par Lydia Provin @Votreassistante

Suite aux questions que me posent certains abonnés sur le VBA, j’ai proposé à Thierry Courtot du blog Excel-plus ! d’écrire un article invité à ce sujet :)

 

Contrôleur de gestion, passionné par Excel qui est mon outil de travail principal, je souhaite partager mes connaissances et en apprendre encore sur ce logiciel ultra diffusé et devenu une référence dans l’entreprise et dans le quotidien de tous. Également curieux de beaucoup de choses, je vis mes passions ou lubies du moment et, dans la mesure du possible, les partage avec vous. Blogueur à temps partiel depuis 4 ans, j’aime diffuser ce que j’ai appris.

Très souvent, quand on commence à parler de VBA (ou Visual Basic for Applications), beaucoup de gens se sentent rebutés et estiment, à tort, que ce n’est pas dans leurs cordes. Bien sûr, le langage de programmation qu’est le VBA est un véritable code normé et qui ne s’invente pas. Les experts en VBA ont réellement des compétences certaines et peuvent ainsi créer, plus que des macros, de véritables applications avec Excel, jusqu’à pouvoir en modifier l’apparence pour l’utilisateur.

Mais même si vous ne souhaitez pas créer d’application à vendre sur le marché des outils informatiques, vous pouvez découvrir et utiliser ce langage pour vos propres fichiers.

Pour vous le démontrer, nous allons créer ensemble une macro, la modifier dans Visual Basic et, peut-être, vous donner l’envie d’en découvrir plus.

Je vous propose donc de créer une macro qui vous demandera de supprimer les données d’une plage de cellules en vous demandant de confirmer par OUI ou NON. Dans cet exemple, nous utiliserons des fonctions qu’il vous faudra connaître pour utiliser le VBA, et d’autres astuces pour éviter d’avoir à en apprendre trop.

Vous retrouverez le fichier utilisé, avec la macro que nous allons créer, dans l’Espace Membres.

Prenons donc un tableau simple, une liste de noms avec des codes affectés. Les noms devant changer régulièrement, nous voulons pouvoir les supprimer sur demande en cliquant sur un simple bouton.

Tableau Excel pour macro

Nous allons commencer par enregistrer l’action de la suppression. En effet, plutôt que de taper le code de cette action, il est plus rapide de l’exécuter en utilisant l’Enregistreur de macros que vous trouvez dans l’onglet Développeur du ruban (à rajouter via les options si vous ne le voyez pas car masqué par défaut).

Enregistrer une macro

Une fois cliqué sur ce bouton, Excel vous ouvre une fenêtre pour lancer l’enregistrement.

 

Boîte de dialogue enregistrer une macro

Vous pouvez donner un nom à votre macro ou le laisser en automatique, l’important étant de la retrouver plus tard. Cliquez sur Ok et l’enregistrement de vos faits et gestes commence.

Vous allez donc sélectionner les cellules de B2 à B11 puis taper sur la touche Suppr de votre clavier. Dans le coin gauche, en bas de votre écran, vous verrez un bouton STOP apparaître dès le début, cliquez dessus pour arrêter l’enregistrement.

Bouton stop enregistrement macro

Voilà, la première partie de votre macro est créée. Allons maintenant la modifier.

Pour cela, vous cliquerez sur le bouton Macros

Bouton Macros
 qui se trouve près du bouton pour lancer l’enregistrement (toujours dans l’onglet Développeur), sélectionnerez la Macro2 que vous venez de créer et cliquer sur Modifier.

Boîte de dialogue macros

Excel lance alors Visual Basic et vous voyez apparaître le code de votre Macro 2. C’est ce code que nous allons maintenant améliorer pour obtenir la validation OUI ou NON que nous souhaitons mettre en place.

Macro créée avec enregistrement

Comme vous pouvez le constater, ce code n’est pas forcément facile, mais pas forcément incompréhensible. Vous pouvez lire SELECT, et donc vous pouvez vous douter qu’il s’agit de la sélection que vous avez faite. De plus, avec les références de B2 à B11 que vous aviez choisies, il n’y a plus de doutes. Ensuite, CLEARCONTENTS, si vous parlez anglais, on devine qu’il s’agit de l’action de suppression.

À savoir également, le code d’une macro commence par SUB suivi du nom de la macro, et se termine toujours par END SUB.

Nous allons maintenant ajouter du code pour que la macro vous demande votre accord et stocker cette information dans une variable. Une variable est un contenant que l’on définit grâce au code, et qui peut être le résultat d’un calcul ou une information renseignée par l’utilisateur.

Il nous faut donc donner à cette variable le résultat de ce que vous saisirez dans une boîte de dialogue. Cette boîte de dialogue que nous allons utiliser s’appelle une INPUTBOX. Cela se traduit de cette manière dans Visual Basic.

Macro modifiée avec inputbox

Ensuite, il va falloir utiliser une condition, sur le principe de la fonction SI dans Excel, pour lui dire d’exécuter la suppression si la variable est égale à OUI. Le code à entrer sera donc le suivant :

Macro modifiée avec if condition

Votre macro est désormais terminée. Vous remarquerez la ligne qui commence par IF et qui demande si la variable est égale à OUI, alors il exécute le code. Cette tranche de code se termine obligatoirement par un END IF qui indique au code que les conditions sont finies.

Il vous reste à la tester. Revenez alors sur votre feuille Excel et cliquez sur le bouton Macros. Au lieu de sélectionner Modifier, cliquez sur exécuter. Vous obtiendrez alors une boîte de dialogue dans laquelle vous entrerez Oui ou Non.

Lancement de la macro

À vous de tester les deux possibilités pour valider votre macro.

Dernière précision, au moment d’enregistrer votre fichier, il vous faudra sélectionner un nouveau type de fichier .xlsm qui définit le format des macros.

Et voilà, vous avez créé votre première macro en VBA et j’espère vous avoir amusé, et qui sait, rendu curieux pour en découvrir encore plus.

Retrouvez d’autres tutos concernant Excel sur Excel-Plus ! et suivez Thierry sur les réseaux :

Téléchargez « Découvrir le VBA (article invité) » au format PDF

Je vous propose un fichier annexe dans l’Espace Membres contenant le tableau avec la macro créée dans ce tutoriel.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Lydia Provin 1007 partages Voir son profil
Voir son blog