Créer sa première macro VBA sous Excel

Créer sa première macro VBA sous Excel

Dans ce tutoriel, nous allons découvrir comment créer une macro VBA sous Excel, qui permet de calculer une somme en fonction d’une couleur de fond d’une cellule. Les débutant en Excel sont parfois désemparés lorsqu’ils cherchent une solution à leur problème surtout si on leur conseille d’utiliser le VBA. Le langage macro VBA peut être un peu déroutant quand on ne l’a jamais utilisé, cependant il est très simple d’ajouter du code et de l’exécuter.

Accéder à l’éditeur macro VBA sous Excel

Pour créer des macros VBA, il faut ouvrir l’utilitaire Visual Basic Editor (Attention ce tutoriel se déroule sous Mac avec la version 16.49 d’Excel). Pour cela, cliquer sur Outils -> Macro -> Visual basic Editor.

Accéder à l’éditeur macro VBA sous Excel

Astuce!!! Si vous souhaitez avoir accès au menu Développeur. Vous aurez accès notamment aux boutons et à d’autres fonctionnalités pratiques, vous devez aller dans Excel -> Préférences -> Ruban et barre d’outils -> cocher Développeur.

Si vous souhaitez avoir accès au menu Développeur. Vous aurez accès notamment aux boutons et à d’autres fonctionnalités pratiques, vous devez aller dans Excel -> Préférences -> Ruban et barre d’outils -> cocher Développeur

Créer une macro/fonction VBA dans l’éditeur

Une fois l’éditeur ouvert, un écran apparait qui récapitule le Projet VBA. Cet écran décrit tous les objets du fichier: feuilles de calcul et modules de code. Au début du projet, il ne contient que les feuilles du classeur (Onglets):

Cet écran décrit tous les objets du fichier: feuilles de calcul et modules de code. Au début du projet, il ne contient que les feuilles du classeur (Onglets)

Pour ajouter des macros, il faut créer un objet (un module) dont le rôle est de contenir une ou plusieurs macros. Faites un clic droit sur VBA Project ou sur Microsoft Excel Objects, puis choisissez Insérer et Module.

Pour ajouter des macros, il faut créer un objet (un module) dont le rôle est de contenir une ou plusieurs macros

Un nouvel objet apparait dans le projet VBA: un dossier Modules et le premier module que vous venez de créer (appelé par défaut Module 1). Le Module 1 s’ouvre directement laissant apparaitre une fenêtre vierge ou vous pouvez saisir votre code.

Un nouvel objet apparait dans le projet VBA: un dossier Modules et le premier module que vous venez de créer (appelé par défaut Module 1)

Pour notre projet, nous allons utiliser une fonction pour créer une macro pour calculer une somme dans Excel en fonction de la couleur des cellules.

Voici la fonction Excel pour additionner cellules selon leur couleur (Tutoriel macro VBA débutant) :

Function SOMME_SI_COULEUR(PlageSomme As Range, PlageCouleur As Range) As Variant

'***************************************************************************************

' Fonction permettant de caclculer les sommes des cellules en fonction d'une couleur.

' Cette couleur sera présente dans une cellule de référence dans le classeur Excel.

'***************************************************************************************

Dim Cel As Range

Dim Som As Double

'Vérifie si la plage passée en option à plus d'une cellule, sinon on quitte le programme

If PlageCouleur.Cells.Count > 1 Then

    SOMME_SI_COULEUR = CVErr(xlErrValue)

     Exit Function

End If

'On parcourt toute les cellules de la plage pour calculer la somme des cellules dans la couleur voulue

For Each Cel In PlageSomme

     If Cel.Interior.ColorIndex = PlageCouleur.Interior.ColorIndex Then Som = Som + Cel

Next

'On renvoiela somme des cellules

SOMME_SI_COULEUR = Som

End Function

Une fois votre fonction/macro écrite, n’oublier pas d’enregistrer le fichier.

Une fois votre fonction/macro écrite, n’oublier pas d’enregistrer le fichier.

Cliquer sur Non, pour enregistrer votre fichier Excel dans un format particulier (.xlsm), qui prend en charge les macros.

Vous aurez alors ce message. Cliquer sur Non, pour enregistrer votre fichier Excel dans un format particulier (.xlsm), qui prend en charge les macros.

Enregistrer le fichier Excel avec l'extension .xlsm pour prendre en charge les macros dans le classeur.

Maintenant dans votre fichier Excel, vous devez placer l’appel de votre fonction. Voici mon petit fichier de test.

Un fichier tout simple qui permet de gérer les achats par exemple entre Mr et Mme. Chaque personne à une couleur d’associée et en fonction, cela calcul son poste de dépense.

Un fichier tout simple qui permet de gérer les achats par exemple entre Mr et Mme. Chaque personne à une couleur d’associée et en fonction, cela calcul son poste de dépense.

  • Dans Total Dépense Mme, voici à quoi ressemble l’appel de la fonction : =SOMME_SI_COULEUR(B8:B11;A5)
  • Dans Total Dépense Mr, voici à quoi ressemble l’appel de la fonction : =SOMME_SI_COULEUR(B8:B11;A4)

Pour que la fonction marche correctement vous devez saisir la place, ici B8 à B11, ou nous aurons les montants à additionner, puis ensuite en fonction, je rajoute la cellule qui va bien en fonction de la couleur soit A4 pour Mr, soit A5 pour Mme.

Voilà comment réaliser simplement un petit tableau de calcul en fonction des couleurs des cellules.

Utiliser la fonction spéciale SOMME_SI_COULEUR

Excel est un outils vraiment génial et et sans compter sur ses millions d’utilisateurs qui développent des plugins pour ajouter des fonctions pour nous facilité la vie de tous les jours.

Au lieu de créer une fonction nous allons utiliser la fonction spéciale SOMME_SI_COULEUR. Cette fonction n’est pas disponible par défaut dans Excel et il faut rajouter  un pack d’add-ons Excel pour fonctions avancées.

Vous pouvez le télécharger depuis ce lien : Fonctions complémentaires XLP

Le « Pack de fonctions XLP » est un add-in gratuit pour Excel qui regroupe 92 nouvelles fonctions utiles, que vous pouvez découvrir en cliquant sur le lien ci-dessus.

Pour installer  le plugin, il faut aller dans Outils Compléments Excel -> Parcourir. Puis sélectionner le fichier correspondant à votre version d’Excel et cliquer sur Ok.

Ensuite cocher Pack de fonctions XLP pour pouvoir utiliser la fonction SOMME_SI_COULEUR

Au lieu de créer une fonction nous allons utiliser la fonction spéciale SOMME_SI_COULEUR. Cette fonction n’est pas disponible par défaut dans Excel et il faut rajouter un pack d’addon pour en bénéficier.

Puis dans une cellule, insérer la formule suivante (à modifier en fonction de vos besoins) : =SOMME_SI_COULEUR(B8:B11;A5)

  • B8:B11 : correspond à la plage à vérifier
  • A5 : correspond à une cellule de référence avec une couleur de fond

Signature manuelle Guillaume

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *