Skip to content
Excel - Power Query - Power Pivot - VBA
  • Pages
    • Excel - Power Query - Power Pivot - VBA
    • Raccourcis clavier
    • Généralités
      • Quel stage Excel choisir ?
        • Parcours de formation Excel
        • Une démarche BI avec Excel ?
        • Excel, VBA ou Power Pivot / Query / BI ?
      • Installation des outils
    • Manipulations de bases
      • Gestion des feuilles
      • Formater les cellules
      • Lignes et colonnes
      • Trier et filtrer
    • Temps 1 | Organiser ses données en tableau
      • Concevoir un tableau
      • Tableau dans Excel
    • Temps 2 | Saisir et importer
      • Valider ses données
      • Protéger les données
      • Mise en forme conditionnelle
      • Types de données (tables recommandées)
    • Temps 3 | Calculer
      • Calculs
      • Fonctions de texte
      • Fonctions de date
      • Fonctions logiques
      • Fonctions de synthèse
      • Fonction de recherche
      • Fonctions d'information
      • Formules matricielles ou Tableaux dynamiques [365]
      • Nouvelles fonctions [365]
    • Temps 4 | Présenter et synthétiser
      • Mise en forme avec les styles
      • Mise en page et impression
      • Tableaux croisées dynamiques
        • TCD multi tables
      • Graphiques croisés dynamiques
    • A à Z : créer un classeur d'analyse [Exemple 002]
    • Power Query
    • Power Pivot
      • Présentation
      • Mise en pratique
      • Exercice 01
    • VBA
      • Visual Basic
        • Visual Basic Editor
        • Variables
        • Décisions
        • Boucles
        • Fonctions
          • Quelques fonctions intrinsèques
        • Organisation du code
        • icon picker
          Procédures
      • VB Excel
        • Objets Excel
        • Classeurs
        • Feuilles
        • Plages et cellules
        • Tableaux
        • Fonctionnalités d'Excel
        • SQL & VBA
        • Boucle des fichiers d'un dossier
        • Manipuler d'autres logiciels depuis Excel
      • Créer une application Excel
      • API REST avec JSON
      • Exercice Signalements
    • Exercices
      • Excel 1 |
    • Office Script
    • Office Scripts pour Excel : Comparaison avec VBA
    • Échanges stagiaires

Procédures

Sub

Une procédure Sub est une macro au sens Excel. Elle exécute des actions (instructions), peut recevoir des arguments, mais ne retourne pas de valeur. On voit ces procédures dans la fenêtre Macros (ALT + F8).

Function

Une Function, à la différence d’un Sub, peut retourner une valeur, sur le même principe que les fonctions Excel : la fonction SOMME retourne une… somme. Par exemple :
c = Left("maison", 3)
retourne "mai" (les 3 caractères à gauche de maison) et stocke cette valeur dans la variable c. Left est une fonction intrinsèque (intégrée à Excel). Vous pouvez créer vos propres fonctions :
Function MaFonction1(Argument1, Argument2…)
MaFonction1 = Argument1 + Argument2
End Function

Arguments nommés

La syntaxe suivante…
ActiveWorkbook.Close True
… indique de fermer en classeur (méthode Close) en enregistrant les modifications (argument SaveChanges sur True).
En utilisant cette autre syntaxe…
ActiveWorkbook.Close SaveChanges:=True
… on obtient une ligne de code plus facilement lisible.
Les arguments nommés permettent également de les mettre dans n’importe quel ordre et d’en omettre certains. Par exemple, pour ouvrir un classeur en lecture seule, on peut écrire :
Workbooks.Open Filename:="C:\Classeur1.xlsx", ReadOnly:=True

Module

Principes

Un module est une page contenant du code VBA.
Trois types de module :
image.png
Feuil1, Feuil2… : module de feuille. Le code de ce module ne peut être appelé que depuis la feuille.
ThisWorkbook : module de classeur. Le code de ce module ne peut être appelé que depuis le classeur
Modules : module. Le code de ce module peut être appelé de n’importe où : feuille, classeur, autre module.

Options d’un module

En haut de chaque module, vous devez écrire (si vous n’avez coché l’option dans Visual Basic Editor) :
Option Explicit
De cette façon, vous serez obligé de déclarer toutes vos variables, ce qui est un moyen de sécuriser son code contre les erreurs.
Notez que vous avez aussi intérêt à ajouter l’instruction suivante :
Option Compare Text
Également à placer en haut de chaque module, elle facilite les comparaisons de chaînes : les lettres en majuscules seront égales aux mêmes lettres en minuscule (data et Data seront considérés comme identiques).
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.