Utilisation incorrecte du mot clé New
Le mot clé New n’est applicable qu’à un objet qui peut être créé (une instance de classe ou un objet Automation). Causes et solutions pour cette erreur :
Vous avez essayé d’instancier un élément qui ne peut connaître qu’une seule instance. Par exemple, vous avez essayé de créer une instance d’un module en spécifiant
Module1
dans une instruction comme suit :Dim MyMod As New Module1
Vous ne pouvez pas créer la nouvelle occurrence, puisqu’un module ne peut avoir qu’une seule instance.
Vous avez essayé d’instancier un objet Automation, mais il ne s’agissait pas d’un objet qui peut être créé. Par exemple, vous avez essayé de créer une instance d’une zone de liste en spécifiant ListBox dans une instruction semblable à la suivante :
' Valid syntax to create the variable. Dim MyListBox As ListBox Dim MyFormInst As Form ' Invalid syntax to instantiate the object. Set MyFormInst = New Form Set MyListBox = New ListBox
ListBox et Form sont des noms de classe, et non des noms d’objets spécifiques. Utilisez-les pour spécifier qu’une variable sera une référence à un certain type d’objet, comme avec les instructions Dim valides ci-dessus. Toutefois, vous ne pouvez pas les utiliser pour instancier les objets proprement dits dans une instruction Set. Vous devez spécifier un objet déterminé, plutôt que le nom de classe générique, au sein de l’instruction Set :
' Valid syntax to create new instance of a form or list box.
Set MyFormInst = New Form1
Set MyListBox = New List1
Pour plus d’informations, sélectionnez l’élément en question et appuyez sur F1 (sur Windows) ou AIDE (sur Macintosh).
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.