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.
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).
Une fois cliqué sur ce bouton, Excel vous ouvre une fenêtre pour lancer l'enregistrement.
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.
Voilà, la première partie de votre macro est créée. Allons maintenant la modifier.
Pour cela, vous cliquerez sur le 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.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.
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.
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 :
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.
À vous de tester les deux possibilités pour valider votre macro.
Retrouvez d'autres tutos concernant Excel sur Téléchargez " Découvrir le VBA Excel (article invité) " au format PDF Excel-Plus ! et suivez Thierry sur les réseaux :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.
Je vous propose un fichier annexe dans l'Espace Membres contenant le tableau avec la macro créée dans ce tutoriel.