Partage via


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.