Variables et Types de Données
Glissez pour afficher le menu
Chaque procédure que vous écrivez a besoin d'un espace pour stocker des valeurs pendant son exécution — le nom d'un client, un total cumulé, un indicateur oui/non. C'est ce qu'est une variable : une boîte étiquetée en mémoire dans laquelle vous pouvez placer une valeur et la relire plus tard. Vous en créez une avec Dim (abréviation de « dimension »), et vous indiquez à VBA à l'avance quel type de donnée elle contiendra :
Dim productName As String
Dim currentStock As Integer
Dim unitPrice As Double
Chaque ligne réserve un emplacement étiqueté : productName ne peut contenir que du texte, currentStock uniquement des nombres entiers, unitPrice uniquement des nombres à virgule. Déclarer le type à l'avance n'est pas une formalité inutile — cela permet à VBA de détecter les erreurs avant qu'elles ne deviennent des bugs. Essayez d'exécuter productName = 47 et VBA vous arrête immédiatement avec une erreur d'incompatibilité de type, au lieu de stocker silencieusement une valeur incorrecte qui causerait de la confusion plus tard.
Types de données courants
Règle générale : utiliser Long au lieu de Integer pour les compteurs et les numéros de ligne — ce n'est pas plus lent dans les versions récentes d'Excel, et cela évite le dépassement sur de grands ensembles de données. Vous verrez Dim i As Long partout dans ce cours.
Option Explicit
Placez cette ligne unique tout en haut de chaque module, avant toute déclaration Sub. Elle change une chose : VBA refusera désormais d'exécuter toute ligne utilisant une variable que vous n'avez pas déclarée avec Dim au préalable :
Option Explicit
Sub Example()
Dim total As Double
total = 100 ' works — declared above
toatl = 200 ' typo — Option Explicit catches this at compile time
End Sub
Sans Option Explicit, cette faute de frappe crée silencieusement une nouvelle variable appelée toatl, et vous passeriez vingt minutes à vous demander pourquoi total ne change jamais. Cette simple habitude évite plus d'erreurs que tout le reste de ce chapitre.
Constantes
Les constantes sont des valeurs nommées qui ne changent jamais pendant l'exécution du code — idéal pour des éléments comme les taux de taxe ou les seuils :
Const REORDER_THRESHOLD As Integer = 20
Utiliser REORDER_THRESHOLD au lieu de taper 20 partout signifie que si la règle métier change, vous modifiez une seule ligne au lieu de devoir rechercher dans tout votre code.
Tâche
- Dans
Section_2_VBA_Fundamentals.xlsm, écrire uneSubqui déclare une variableStringpour un nom de produit, unDoublepour son prix, et unIntegerpour son stock. - Leur attribuer les valeurs pour
USB-C Huben saisissant directement les valeurs littérales. - Utiliser
MsgBoxpour afficher les trois dans un seul message, concaténés ensemble. - Ajouter
Const LOW_STOCK As Integer = 20au-dessus de votreSubet l'utiliser dans unMsgBoxen le comparant à la variable de stock.
- Trois lignes
Dimavec des types différents sont nécessaires — se référer à la Figure 2.1 si vous oubliez la syntaxe :Dim name As Type. - La ligne de USB-C Hub est Price 39.50, Stock 44. Attribuez-les directement :
price = 39.50. - La concaténation utilise
&, pas+. Construisez la chaîne par morceaux :"Name: " & productName & ", Price: " & price. - Les constantes sont déclarées en dehors de toute
Sub, en haut du module, juste aprèsOption Explicit. ComparezstockCountàLOW_STOCKavec un simple>ou<dans une chaîneMsgBox— il n'est pas encore nécessaire d'utiliser unIf, affichez simplement les deux valeurs pour comparer visuellement.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion