Modules de classe VBA

Modules de classe Excel VBA

Lorsque nous utilisons VBA, nous utilisons les propriétés et les attributs définis dans VBA, mais que se passe-t-il lorsque nous voulons créer nos propres propriétés et méthodes et attributs, c'est-à-dire lorsque nous utilisons un module de classe dans VBA afin de pouvoir le définir par l'utilisateur, un Le module de classe a son propre ensemble de codes définis pour les fonctions, propriétés et objets par l'utilisateur.

Les modules de classe sont utilisés pour créer un objet. Quand nous disons objets même si c'est une variable, ce sont de petits programmes. Lors de l'écriture du code, nous écrivons généralement dans des modules. Les modules de base sont l'endroit où nous écrivons nos codes pour faire le travail. Nous utilisons également le formulaire utilisateur pour créer des interfaces utilisateur graphiques.

Mais si vous regardez l'image ci-dessus, vous pouvez voir «Module de classe». Je sais avec certitude que vous n'y avez pas touché avant de lire ce post. Vous devez vous demander ce qu'est ce module de classe VBA lorsque tout le travail peut être fait en utilisant notre module normal lui-même.

Qu'est-ce que le module de classe?

Les modules de classe permettent à un utilisateur de créer son propre objet, tout comme nous avons des objets intégrés dans des modules standards tels que «Worksheets», «Workbooks», «Range», etc.

Comme cela en utilisant un module de classe, nous pouvons créer des objets personnalisés.

La classe a une relation directe avec les objets. Par exemple, vous avez un diagramme de machine pour construire une machine, mais rappelez-vous que ce n'est pas encore une machine et en utilisant ce diagramme de machine, nous pouvons construire de nombreuses machines comme ça.

Par exemple, si vous souhaitez lister différentes marques de machines pour lister les caractéristiques des différents modèles.

Dans la machine, nous avons un nom de marque, un numéro de série, la puissance de la machine, la couleur de la machine, le nombre de moteurs impliqués, le type de carburant moteur, etc.… En langage technique, on les appelle «propriétés».

En ce qui concerne les propriétés de la machine, on peut démarrer, on peut éteindre, on peut augmenter la vitesse du moteur, on peut faire une pause, etc… Et cela s'appelle des «méthodes».

Exemple

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

Commençons le bal car c'est toujours ennuyeux de lire la partie théorique. Pour insérer un module de classe, accédez à l'option d'insertion dans l'éditeur Visual Basic.

Nous pouvons maintenant voir un module de classe comme ci-dessous.

Cela ressemble à celui que nous avons ci-dessus en tant que module régulier. Modifiez le nom du module de classe dans la fenêtre des propriétés. Pour voir la fenêtre des propriétés, appuyez sur la touche F4 .

Déclarez maintenant la variable sous forme de chaîne.

Sans créer de sous-procédure dans vba, nous devons déclarer la variable et aussi cette fois en utilisant le mot «Public» et non «Dim».

Nous pouvons maintenant accéder à cette variable dans n'importe quel module et module de classe.

Maintenant, allez dans un module normal et nommez la variable.

Après avoir déclaré la variable, nous devons attribuer le type de données dans VBA, au lieu d'attribuer le type de données, nous pouvons simplement donner le nom du module de classe, c'est-à-dire CM

Maintenant, en utilisant la variable «k», nous pouvons accéder à la variable publique que nous avons définie dans le module de classe à savoir «Ma valeur».

Comme nous pouvons le voir dans l'image ci-dessus, il montre l'option de nom de variable du module de classe pour lui attribuer la valeur.

Affichez maintenant la valeur de la variable affectée dans la boîte de message VBA.

Code:

 Sub Class_Example () Dim k As New CM k.MyValue = "Hello" MsgBox k.MyValue End Sub 

Exécutez ce code à l'aide de la touche F5 ou manuellement pour afficher le résultat.

Module de classe vs objets

Au stade initial du module de classe, tout le monde se confond avec ce qu'est une classe et ce qu'est un objet.

Pour comprendre cela, rappelez-vous notre exemple précédent de diagramme de machine. La première chose dont nous avons besoin pour produire une machine est que nous devons d'abord concevoir la machine, puis plusieurs copies peuvent être reproduites avec cette conception.

Reliez maintenant ceci à notre module de classe.

  • Ici, le module de classe est une conception. Et Object est la copie créée par le Design.
  • Une autre chose intéressante est que nous devons utiliser le mot «nouveau» pour créer un objet à partir du module de classe.

Voici un exemple de la même chose.

Encore une chose lorsque nous utilisons des objets intégrés tels que des feuilles de calcul, des classeurs et des objets de plage, nous n'utilisons pas le mot «nouveau»

Pour commencer la procédure avec le module de classe, vous devez savoir ces éléments de base. Dans les articles à venir, nous verrons les exemples de niveau suivant.

Cela semble difficile à comprendre, plus vous passerez de temps avec un module de cours, vous vous y habituerez.