Module de classe Excel VBA

Le module de classe dans VBA peut être défini comme le module qui aide à créer vos propres objets avec vos propres propriétés et méthodes comme les feuilles de calcul et les objectifs de plage d'Excel.

En termes simples avec le module de classe d'aide VBA, nous pouvons créer des objets avec leurs propres propriétés. Avant d'aller créer un module de classe et ses objets dans VBA, il est conseillé de comprendre le concept de classe et d'objet. Prenons un exemple du monde réel pour comprendre ce qu'est une classe et ce qu'est un objet et sa relation.

Par exemple, si nous prenons un plan de construction ou un plan d'un bâtiment, à l'aide d'un plan de construction, nous pouvons construire non seulement un bâtiment, mais nous pouvons utiliser le même plan et construire plusieurs bâtiments à différents endroits. La taille des pièces, la hauteur du toit, etc. peuvent varier, mais les propriétés réelles du bâtiment restent les mêmes, car il devrait y avoir un sous-sol, des portes, des piliers, un plafond, etc.

De même, si vous prenez un modèle ou un modèle de voiture, nous pouvons en produire plusieurs doublons. Une voiture aura des propriétés comme un certain nombre de roues, de couleur, de puissance, etc. Certaines propriétés peuvent varier d'une voiture à l'autre, mais la configuration principale restera la même.

Pour le rendre plus clair, nous pouvons définir comme:

  • Classe: C'est le plan d'une chose qui aide à créer un objet.
  • Objet: existence réelle d'une chose.

Comment insérer un module de classe dans Excel VBA?

Voici les différents exemples pour insérer un module de classe dans Excel en utilisant le code VBA.

Vous pouvez télécharger ce modèle Excel de module de classe VBA ici - Modèle Excel de module de classe VBA

Module de classe VBA Excel - Exemple # 1

Voici les différentes étapes pour insérer le module de classe en utilisant le code VBA dans Excel.

Étape 1: Allez dans le menu « Developer » en haut et cliquez sur Visual Basic dans la partie gauche.

Étape 2: Pour créer un module de classe, nous devons insérer un module de classe dans VBA. Cliquez sur la liste déroulante Insérer en haut. De là, choisissez un module de classe .

Maintenant, un module de classe est inséré sur le côté gauche dans VBA, comme indiqué dans la capture d'écran ci-dessous.

Comme discuté précédemment, un module de classe est un plan avec lequel nous allons créer des objets. Il nous faut donc définir quelques variables et méthodes qui seront accessibles à tous les objets.

Étape 3: changez le nom du module de classe selon vos besoins, ici j'ai changé en Blueprint

Étape 4: Maintenant, nous devons définir les variables et les méthodes.

Code:

 Option Explicit Public add As Integer Public pro As Integer Public x As Integer Public y As Integer 

Comme le montre la capture d'écran ci-dessus, commencez d'abord par l'option explicite. Pourquoi option explicite? Cela générera une erreur si nous utilisons une variable dans le programme qui n'est pas définie, nous devons définir toutes les variables de manière explicite. Ici, nous définissons quatre variables add, pro, x et y. Toutes les variables sont définies comme publiques car alors seules ces variables sont accessibles par d'autres modules.

Étape 5: Jusqu'à présent, nous avons défini des variables qui doivent maintenant définir des méthodes ou des fonctions.

Code:

 Option Explicit Public add As Integer Public pro As Integer Public x As Integer Public y As Integer Sub sum () add = x + y MsgBox (add) End Sub 

J'ai défini une méthode simple sum (), vous pouvez définir des sous-programmes complexes selon les exigences. Dans la sous-méthode sum (), nous avons défini comment effectuer une opération d'addition et où stocker cette valeur, puis afficher finalement le résultat dans une boîte de message.

Étape 6: Un module de classe a été créé, il est maintenant temps de créer un module normal pour utiliser le plan de classe. Insérez donc un module de la même manière que nous avons inséré un module de classe.

Étape 7: Par défaut, le nom du module sera module1 que nous pouvons changer si nous le voulons. Écrivez le code dans module1.

Code:

 Sub math () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.sum End Sub 

Nous écrivons ici un sous-programme math (). En cela, nous avons créé un objet avec un nom obj identique à un plan de classe. C'est la raison pour laquelle nous avons défini de cette manière «obj comme nouveau plan», ce qui signifie la duplication du plan et le nom est obj.

Dans ce programme, nous n'avons pas défini x et y mais en affectant directement les valeurs à x et y car celles-ci sont déjà définies dans un module de classe et l'obj en est la duplication. Par conséquent, il aura ces variables, mais pour les appeler, nous devons utiliser un nom object.variable.

Obj.x = 5 moyenne, la valeur 5 sera stockée dans la variable x.

Obj.y = 6, la valeur moyenne 6 sera stockée dans la variable y.

Appelez maintenant les méthodes définies dans le module de classe en utilisant le nom d'objet obj.

Obj.sum () effectuera l'opération d'addition telle que définie dans le module de classe. Dans le module de classe, nous avons défini comme x + y et un objet, nous avons défini les valeurs de x et y donc il prendra les valeurs et effectuera le calcul et stockera le résultat en addition qui est un type entier. Dans la dernière étape, il affichera le résultat dans la boîte de message.

Étape 8: Exécutez le module1 en appuyant sur la touche F5 ou en cliquant sur le bouton Lecture .

Étape 9: Sélectionnez le nom de la macro et cliquez sur l'option Exécuter .

Les résultats seront affichés comme ci-dessous.

Module de classe Excel VBA - Exemple # 2

Suivez les étapes ci-dessous:

Étape 1: Ajoutez maintenant une autre méthode appelée «mul» pour effectuer l'opération de multiplication. Le résultat doit être conservé dans les cellules (5, 5) de la feuille1.

Code:

 Sub mul () pro = x * y Sheet1.Cells (5, 5) = pro End Sub 

Dans la méthode mul () ci-dessus, nous avons multiplié x et y, et le résultat est stocké dans "pro" qui est un type de données entier.

Étape 2: Maintenant, allez dans module1 et appelez cette méthode mul en utilisant l'objet obj comme ci-dessous.

Code:

 Sub math1 () Dim obj As New Blueprint obj.x = 5 obj.y = 6 obj.mul End Sub 

Étape 3: Appuyez sur la touche F5 pour exécuter le module. Allez à sheet1 et vérifiez que le résultat sera affiché comme ci-dessous.

Dans l'exemple précédent, nous avons affiché les résultats dans la boîte de message, mais dans la deuxième méthode, nous avons affiché dans Excel. Donc, si nous déclarons les variables et les méthodes dans le module de classe, nous pouvons les utiliser dans d'autres modules à l'aide d'un objet sans répéter le code. J'espère que vous avez compris comment insérer le module de classe dans Excel VBA et comment créer un objet pour celui-ci.

Choses dont il faut se rappeler

  • Il est toujours suggéré d'utiliser l'option explicite lors de la préparation d'un module de classe car il peut y avoir une erreur de frappe lors de l'utilisation de variables dans VBA.
  • Si nous ne mentionnons pas le numéro de feuille pour afficher les résultats, il choisira automatiquement la feuille active.
  • Utilisez un mot-clé public lors du lancement des variables afin que les variables puissent accéder à d'autres modules.
  • Vous ne pouvez appeler les variables ou méthodes qu'après avoir créé l'objet. par conséquent, créez un objet pour la classe puis appelez les variables et les méthodes.

Articles recommandés

Ceci est un guide du module de classe VBA. Nous expliquons ici comment insérer un module de classe dans Excel à l'aide du code VBA ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Recherche et remplacement VBA
  2. Excel Sum par couleur
  3. Le fichier de vérification VBA existe
  4. Excel Supprimer le tableau croisé dynamique
  5. Code VBA | Exemples

Catégorie: