Bonjour.
N'hésite pas à poser d'autre questions pour acquérir ces notions.
On parle de module objet pour tout module ne faisant pas partie de la rubrique Modules du projet VBA. Ça englobe ceux des objets implantés par l'application hôte (rubrique Microsoft Excel Objets), les UserForm (rubrique Feuilles) et les Modules de classe. La notion de classe est très importante en VBA. Elle englobe les définitions de types d'objets fournies dans les bibliothèques en référence. Le module de classe n'est qu'un cas particulier, celui de la définition dans le projet lui même d'un type d'objet.
Un module de classe est à la fois un modèle d'objet, son plan de construction et la programmation destinée à fonctionner sur les exemplaires qui en seront créés. On préfèrera ce mot "exemplaire" à l'anglicisme "instance" du jargon informatique. Le nom du module de classe devient aussi le nom du type de donnée objet qu'il définit, de sorte qu'on peut le préciser derrière As dans une déclaration Dim, Private ou Public.
Dans la programmation extérieure au module de classe on ne voit de celui ci que les éléments y ayant l'attribut Public, mais, à la différence d'un module standard, on ne peut y accéder qu'à condition de le faire précéder d'un point, puis encore devant, à moins d'une instruction With préalable la précisant déjà, d'une expression représentant un exemplaire de cet objet (sinon: erreur de compilation). S'il s'agit d'une variable, il faut en outre qu'une expression de son type lui ait été affectée par un Set (sinon: erreur d'exécution, cette fois). Fort heureusement, l'expression formée du mot clé New suivi du type d'objet (qui est en même temps le nom de son module de classe) représente un exemplaire tout juste créé de ce type d'objet *.
Propriétés et méthodes sont les appellations conventionnelles de ces éléments visibles de l'extérieur du module de classe, déjà vues dans l'aide de VBA à propos des objets de bibliothèques fournies. Une chose déclarée Public dans un module de classe a un statut de propriété quand il s'agit d'une simple variable, d'une Function ou d'une Property Get dépourvues de paramètre, ou d'une Property Let ou Set munie du seul faux paramètre formel représentant la valeur à lui attribuer. Dans tous les autre cas il s'agit d'une méthode, en particulier quand c'est une Sub avec ou sans paramètre.
Enfin, un objet peut aussi décréter des évènements dans un autre module objet. Pour cela, il doit y être déclaré en tête avec le mot clé WithEvents. Cela a pour conséquence d'installer son nom dans la liste de gauche (Objet) qui surmonte la fenêtre de code. S'il y est sélectionné, celle de droite (Procédure) propose les différents modèles de procédures pouvant être installés automatiquement pour profiter de ces évènements. Le nom des procédures installées seront de la forme NomObjet_NomÉvènement. Dans le module de classe, ces évènements sont déclarés au moyen d'instructions Event, et, lors des exécutions, décrétés par des RaiseEvent.
Pour être tout à fait complet, il ne resterait qu'un tout petit point à aborder à propos d'une espèce bien étrange de module de classe: le module d'interface. Mais je crois que ça suffit pour aujourd'hui !
* Attention le mot clé New n'est malheureusement pas applicable à un type d'objet défini par un complément xlam en référence: j'ignore pourquoi, mais l'objet doit être impérativement créé par lui. C'est pourquoi mon CBxL est équipé d'une fonction ComboBoxLiées, écrite dans un module Création, qui en renvoie un nouvel exemplaire.