Modèle d'objet VBA

Ce tutoriel expliquera le modèle objet VBA

Excel est composé d'objets - l'objet classeur, l'objet feuille de calcul et l'objet plage pour n'en citer que quelques-uns. Chacun de ces objets est composé d'événements, de propriétés et de méthodes pouvant être contrôlés via le code VBA.

La hiérarchie d'objets Excel

Vous pouvez considérer la hiérarchie des objets dans Excel, et en fait dans n'importe quel programme au sein de Microsoft Office, comme un peu comme un arbre généalogique avec l'objet d'application (Excel lui-même) étant le seul objet parent au sommet de l'arbre.

Le niveau supérieur - l'application Excel est un objet unique. Cependant, chacun des niveaux suivants peut contenir plusieurs objets. Chacun de ces niveaux peut contenir une COLLECTION d'objets - donc Excel lui-même peut contenir de nombreux classeurs - une collection de classeurs. Chaque classeur peut alors à son tour contenir de nombreuses feuilles de calcul, et chaque feuille de calcul peut alors contenir de nombreux objets Plages, Formes, Tableaux croisés dynamiques ou Graphiques différents par exemple. Il existe de nombreux autres objets disponibles, mais le graphique ci-dessus vous donnera une idée générale de la façon dont ils fonctionnent tous ensemble.

Utiliser des objets

Les objets sont utilisés dans les sous-procédures et les procédures de fonction pour contrôler le comportement d'Excel.

La procédure suivante fait référence à un classeur en cours en utilisant le Objet de classeur. Il crée ensuite une nouvelle feuille de calcul dans ce classeur en utilisant le Objet Feuille de calcul. Enfin, il utilise le Objet de plage pour mettre en gras et colorer une plage de cellules dans la feuille de calcul.

1234567891011121314 Sub UsingObjects()Dim wkb comme classeurDim sem comme feuille de travailDim rngA comme plageDim rngB As Range'mettre les objetsDéfinir wkb = ActiveWorkbookDéfinir wks = wkb.Sheets.AddDéfinir rngA = wks.Range("A1:E1")Définir rngB = wks.Range("A2:E20")'manipule l'objet de plage en mettant en gras et en changeant de couleurrngA.Font.Bold = TruerngB.Font.Color = -16776961Fin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave