Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Apprenez le langage VBA
  3. Gestion des ventes et formulaires VBA
Extrait - Apprenez le langage VBA et devenez un expert sur Excel (versions 2019, 2021 et Microsoft 365)
Extraits du livre
Apprenez le langage VBA et devenez un expert sur Excel (versions 2019, 2021 et Microsoft 365) Revenir à la page d'achat du livre

Gestion des ventes et formulaires VBA

Formulaire de gestion des ventes : description de l’exemple

Présentation de l’exemple

Nous sommes l’entreprise SacEni, un distributeur qui commercialise des sacs de sports, un sac en taille L, un autre en taille XL. L’activité débute et l’entreprise souhaite se doter d’un simple fichier pour suivre ses ventes et son stock.

L’outil que vous allez mettre en place va permettre au vendeur de cette petite entreprise de créer, stocker et télécharger des factures.

L’outil va se présenter comme un formulaire à remplir par le vendeur. Il sera accessible à partir d’un fichier Excel et du bouton Accéder à l’outil de gestion des ventes qui sera positionné sur la feuille d’ouverture du classeur.

Voici l’outil une fois qu’il sera finalisé :

images/03SOB01N.png

Présentation du fichier

Pour réaliser cet exemple, vous allez utiliser le fichier Excel Enoncé_3-ABC.xlsm. Le format XLSM signifie que c’est un fichier Excel qui prend en charge les macros (permettant l’utilisation de VBA, souvent désactivée par défaut).

Ce fichier contient trois feuilles Excel (appelées sheets en Visual Basic).

Feuille Accueil

Cette feuille est destinée à contenir uniquement le bouton Accéder à l’outil de gestion des ventes. Il permettra l’accès à...

Formulaire de gestion des ventes : notions de cours

Cet exemple contient de nombreux nouveaux concepts liés à la programmation avec le langage Visual Basic... Quelques repères sont donc utiles pour pouvoir démarrer sereinement.

Concept de programmation

Voici une description simplifiée de quelques notions de base de programmation permettant une meilleure approche des exemples proposés.

Objet et classe

Un objet est une entité informatique, il peut être de toute forme et chaque objet est unique. Il est caractérisé selon son type.

La classe correspond à la définition de l’objet, elle servira de canevas pour la création de nouveaux objets. Par conséquent, tous les objets d’une même classe auront les mêmes propriétés, ils se différencieront par les valeurs de leurs propriétés.

Exemple :

Classe

Objets

Cell (cellule d’une feuille Excel)

  • Cells("A1") : Cellule A1 de la feuille en cours ;

  • Cells("C4") : Cellule C4 de la feuille en cours.

Sheet (Feuille de classeur)

  • Sheets(0) : première feuille du classeur en cours ;

  • Sheets(1) : deuxième feuille du classeur en cours.

Textbox (zone de texte saisissable dans un formulaire)

  • Textbox1 : zone de texte saisissable nommée Textbox1 par l’utilisateur

  • Textbox2 : zone de texte saisissable nommée Textbox2 par l’utilisateur.

Propriétés

Une propriété correspond à un attribut d’une classe. Lorsqu’un objet est créé, il a donc des valeurs assignées à ses propriétés.

Exemple : La cellule d’une feuille comporte de nombreuses propriétés, comme par exemple la valeur :Cells("A1").value

Méthode

Une méthode correspond à une action qui peut être réalisée par un objet. Par exemple, l’objet feuille de calcul (Sheets) propose une méthode Add qui permet d’ajouter une feuille.

Exemple : Sheets.Add

Collections

Une collection est une liste d’objets d’une même classe. Par exemple, la collection Sheets correspond à l’ensemble des feuilles. En Visual Basic, les collections sont des objets à part entière avec leurs propres méthodes et propriétés....

Formulaire de gestion des ventes : réalisation de l’exemple

L’exemple suivant va consister à créer l’outil de gestion des ventes. Les manipulations vont être décrites pas à pas.

 Commencez par ouvrir le fichier Enoncé_3-ABC.xlsm, puis accédez à Visual Basic Editor en appuyant simultanément sur les touches Alt et F11 une fois le fichier ouvert. 

Vous êtes positionné sur l’éditeur Visual Basic associé au fichierEnoncé_3-ABC.xlsm.

Création du formulaire

Insertion du formulaire

Dans cet exemple, un seul formulaire utilisateur est suffisant. Il contiendra l’ensemble des objets permettant de créer la facture.

 Afin de le créer dans l’éditeur Visual Basic, cliquez sur le menu Insertion puis sur UserForm.

images/03SOB41N.png

Deux éléments apparaissent à l’écran :

  • Le formulaire UserForm1 (nom par défaut du premier formulaire) sur lequel il sera possible de créer des objets d’interaction avec l’utilisateur.

  • La fenêtre Boîte à outils qui permet de sélectionner les contrôles à déposer sur le formulaire. 

images/03SOB42N.png

 Pour afficher/modifier les propriétés du formulaire UserForm1, sélectionnez le formulaire, faites un clic droit sur le formulaire puis cliquez sur Propriétés pour afficher la fenêtre de propriété.

images/03SOB25.png

Cette action est également possible via la touche F4 ou le menu Affichage puis Fenêtre Propriétés.

Modification des propriétés

Voici le nom des propriétés que nous allons modifier. C’est principalement les propriétés d’affichage : taille, texte d’affichage, fond d’écran et nom de l’objet.

Nom de la propriété

Explication

Autres objets

Valeur de la propriété

Name

Nom unique de l’objet

Commun à tous les objets

FormExemple

Caption

Valeur d’affichage de l’objet, pour un formulaire, il s’agit du texte en haut.

Deux types de noms pour cette propriété :

  • Caption si la valeur d’affichage n’est pas modifiable par l’utilisateur directement.

  • Text si la valeur d’affichage est modifiable par l’utilisateur directement (exemple :...

Protection d’un classeur : description de l’exemple

Présentation de l’exemple

La sécurité des données est un problème omniprésent aujourd’hui et plus particulièrement celle des fichiers. Les fichiers sont désormais très accessibles puisqu’ils sont généralement stockés sur le web et facilement partagés. De nombreux utilisateurs sont confrontés à cette problématique et souhaitent avoir davantage de protection sur leurs fichiers, notamment pour éviter de dévoiler des informations confidentielles.

Aujourd’hui, il existe de nombreuses solutions pour sécuriser les fichiers élaborés spécifiquement pour crypter les données.

En effet, il existe plusieurs fonctionnalités permettant d’éviter d’exposer le code à tous les destinataires, de limiter le partage des feuilles du classeur, d’empêcher les modifications sur une feuille ou uniquement sur certaines cellules.

Il faut reconnaître qu’Excel n’est pas l’outil qui offre le plus de garantie en termes de sécurité, mais avec les quelques options suivantes, il est au moins possible de décourager un bon nombre de personnes à s’attaquer aux données que vous aurez protégées.

L’objectif de cet exemple est donc de sécuriser...

Protection d’un classeur : notions de cours

Afficher/masquer une feuille

Pour masquer une feuille, l’opération consiste à faire un clic droit sur l’onglet correspondant à la feuille à masquer puis à sélectionner Masquer :

images/03SOB12N.png

Pour afficher une feuille, faites un clic droit sur l’onglet d’une feuille non masquée, puis cliquez sur Afficher :

images/03SOB13N.png

La fenêtre Afficher apparaît et permet de choisir les feuilles à afficher.

images/03SOB14N.png

Terminez en cliquant sur OK.

Protéger la structure

Protéger la structure d’un classeur permet d’empêcher l’ajout, la modification et la suppression de feuilles au sein du classeur.

La fonctionnalité se situe dans l’onglet Révision, avec le bouton Protéger le classeur :

images/03SOB15N.png

La fenêtre de protection du classeur s’affiche. Elle permet de sélectionner la protection de la structure et d’y associer un mot de passe.

Le mot de passe est facultatif, c’est-à-dire que vous n’êtes pas obligé de le saisir pour mettre en place la protection de la structure et qu’aucun mot de passe ne vous sera demandé pour ôter la protection. En revanche si vous saisissez un mot de passe dans la fenêtre ci-dessus, une autre fenêtre vous fera confirmer le mot de passe précédemment saisi.

images/03SOB16N.png

Après avoir cliqué...

Protection d’un classeur : création de l’exemple

 Tout d’abord, ouvrez le fichier Enoncé_3-DEFv2.xlsm.

Ce fichier contient un code légèrement différent du fichier Enoncé_3-DEF afin de permettre la réalisation des manipulations suivantes sans bloquer l’outil de gestion des ventes, bien que le classeur va être protégé par mot de passe.

Masquer les feuilles Factures et Produits

Masquer les feuilles Factures et Produits va simplement consister à sélectionner les deux feuilles puis à les masquer via le menu contextuel de l’onglet de feuille.

 Cliquez sur la feuille Factures.

 Appuyez sur la touche Ctrl et cliquez sur l’onglet de la feuille Produits.

 Faites un clic droit au niveau de l’onglet de feuille Produits, puis cliquez sur Masquer.

images/03SOB31N.png

Seule la feuille Accueil est accessible comme vous pouvez le constater :

images/03SOB57.png

Protéger la structure du classeur

Protéger la structure du classeur permettra d’empêcher les utilisateurs du fichier d’afficher les feuilles masquées, d’ajouter de nouvelles feuilles et de modifier le nom de la feuille Accueil.

 Dans l’onglet Révision, cliquez sur le bouton Protéger le classeur.

 Dans la fenêtre de protection du classeur, saisissez le mot de passe eni et cliquez sur OK.

images/03SOB32N.png

 Confirmez le mot de passe dans l’écran de confirmation en saisissant à nouveau eni.

Votre classeur est désormais protégé, et sans mot de passe, il sera impossible pour un utilisateur de modifier sa structure.

Suite à ces manipulations, le bouton Accéder à l’outil de gestion des ventes n’est cependant plus opérationnel.

Afficher les stocks via un formulaire

Cette fonctionnalité permet d’afficher un pop-up avec le stock en cours de chaque produit après que l’utilisateur a saisi un mot de passe. Au clic sur un bouton sur la feuille Accueil vous aurez la fenêtre suivante :

images/r03SOB_P66.png

 Dans Visual Basic Editor, ajoutez une fenêtre en effectuant un clic droit sur le projet puis en cliquant sur Insertion puis sur UserForm.

images/03SOB46N.png

Le formulaire s’affiche à l’écran.

 Faites un clic droit sur celui-ci puis cliquez sur Propriétés pour modifier les propriétés...