Table des matières:
Vidéo: [VBA EXCEL] Objets et méthodes 2025
Bien qu'il soit important de savoir faire référence aux objets, vous ne pouvez pas faire de programmation Excel VBA en faisant simplement référence à un objet. Pour accomplir quelque chose de significatif, vous devez faire l'une des deux choses suivantes:
-
Lire ou modifier les propriétés d'un objet.
-
Spécifiez une méthode d'action à utiliser avec un objet.
Avec des milliers de propriétés et de méthodes disponibles, vous pouvez facilement être submergé. Rappelez-vous, vous n'aurez jamais besoin d'utiliser la plupart des propriétés et méthodes disponibles.
Propriétés de l'objet
Chaque objet a des propriétés. Vous pouvez considérer les propriétés comme des attributs décrivant l'objet. Les propriétés d'un objet déterminent à quoi il ressemble, comment il se comporte et même s'il est visible. En utilisant VBA, vous pouvez faire deux choses avec les propriétés d'un objet:
-
Examiner le paramètre actuel pour une propriété.
-
Modifier le paramètre de la propriété.
Par exemple, un objet Range mono-cellule a une propriété appelée Value. La propriété Value stocke la valeur contenue dans la cellule. Vous pouvez écrire du code VBA pour afficher la propriété Value ou écrire du code VBA pour définir la propriété Value sur une valeur spécifique. La macro suivante utilise la fonction MsgBox intégrée de VBA pour faire apparaître une zone qui affiche la valeur dans la cellule A1 sur Sheet1 du classeur actif:
Sub ShowValue () Contents = Feuilles de travail ("Sheet1"). Plage ("A1"). Valeur MsgBox Contenu End Sub
Par ailleurs, MsgBox est une fonction très utile. Vous pouvez l'utiliser pour afficher les résultats pendant qu'Excel exécute votre code VBA.
Le code de l'exemple précédent affiche le paramètre actuel de la propriété Value d'une cellule. Que faire si vous voulez changer le réglage de cette propriété? La macro suivante modifie la valeur de la cellule A1 en modifiant la propriété Value de la cellule:
Sub ChangeValue () Worksheets ("Sheet1"). Plage ("A1"). Valeur = 994. 92 End Sub
Après qu'Excel exécute cette procédure, la cellule A1 sur Sheet1 du classeur actif contient la valeur 994. 92. Si le classeur actif n'a pas une feuille nommée Sheet1, le résultat de l'exécution de cette macro est un message d'erreur VBA suit juste les instructions, et il ne peut pas fonctionner avec une feuille qui n'existe pas.
Chaque objet possède son propre ensemble de propriétés, bien que certaines propriétés soient communes à de nombreux objets. Par exemple, de nombreux objets (mais pas tous) ont une propriété Visible. La plupart des objets ont également une propriété Name.
Certaines propriétés d'objet sont des propriétés en lecture seule, ce qui signifie que votre code peut obtenir la valeur de la propriété, mais ne peut pas la modifier.
Une collection est aussi un objet. Cela signifie qu'une collection a également des propriétés. Par exemple, vous pouvez déterminer le nombre de classeurs ouverts en accédant à la propriété Count de la collection Workbooks. La procédure VBA suivante affiche une boîte de message qui vous indique combien de classeurs sont ouverts:
Sub CountBooks () MsgBox Workbooks. Count End Sub
Méthodes d'objet
En plus des propriétés, les objets ont des méthodes. Une méthode est une action que vous effectuez avec un objet. Une méthode peut modifier les propriétés d'un objet ou faire en sorte que l'objet fasse quelque chose.
Cet exemple simple utilise la méthode ClearContents sur un objet Range pour effacer le contenu de 12 cellules de la feuille active:
Sub ClearRange () Range ("A1: A12"). ClearContents End Sub
Certaines méthodes prennent un ou plusieurs arguments. Un argument est une valeur qui spécifie en outre l'action à effectuer. Vous placez les arguments d'une méthode après la méthode, séparés par un espace. Les arguments multiples sont séparés par une virgule.
L'exemple suivant active Sheet1 (dans le classeur actif), puis copie le contenu de la cellule A1 dans la cellule B1 à l'aide de la méthode Copy de l'objet Range. Dans cet exemple, la méthode Copy a un argument, qui est la plage de destination pour l'opération de copie:
Sub CopyOne () Worksheets ("Sheet1"). Activer la plage ("A1"). Plage de copie ("B1") End Sub
Notez que la référence de feuille de calcul a été omise lorsque les objets Range ont été référencés. Cela peut être fait en toute sécurité car une instruction pour activer Sheet1 a été utilisée. (en utilisant la méthode Activer).
Une autre façon de spécifier un argument pour une méthode est d'utiliser le nom officiel de l'argument suivi d'un deux-points et d'un signe égal. L'utilisation d'arguments nommés est facultative, mais cela peut souvent rendre votre code plus facile à comprendre. La deuxième instruction de la procédure CopyOne pourrait être écrite comme ceci:
Range ("A1"). Copier la destination: = Range ("B1")
Notez la petite invite lorsque l'instruction est tapée. Cette invite montre le nom officiel de l'argument.
Parce qu'une collection est aussi un objet, les collections ont des méthodes. La macro suivante utilise la méthode Add pour la collection Workbooks:
Sub AddAWorkbook () Workbooks. Add End Sub
Comme vous pouvez vous y attendre, cette instruction crée un nouveau classeur. En d'autres termes, il ajoute un nouveau classeur à la collection Workbooks. Après avoir exécuté cette macro, un nouveau classeur sera le classeur actif.
Événements d'objet
Il existe un autre sujet que vous devez connaître: les événements. Les objets répondent à divers événements qui se produisent. Par exemple, lorsque vous travaillez dans Excel et que vous activez un classeur différent, un événement Workbook Activate se produit. Vous pouvez, par exemple, avoir une macro VBA conçue pour s'exécuter chaque fois qu'un événement Activate se produit pour un objet Workbook particulier.
Excel prend en charge de nombreux événements, mais tous les objets ne peuvent pas répondre à tous les événements. Et certains objets ne répondent à aucun événement.Les seuls événements que vous pouvez utiliser sont ceux mis à disposition par les programmeurs de Microsoft Excel.
