Erreur « Cette variable utilise un type Automation non géré » dans l’éditeur Visual Basic d’Excel pour Mac

Dernière mise à jour : 10 novembre 2017

PROBLÈME

Dans Excel pour Mac, un nouvel éditeur Visual Basic a été introduit en octobre 2017. Avec ce nouvel éditeur VB, un problème existe lors de la création de déclarations d’objet en sélectionnant le menu déroulant en haut de la fenêtre de code.

Si vous cliquez sur le menu déroulant de gauche et choisissez une option de la liste, vous devriez obtenir du code pour l’événement sélectionné dans la liste déroulante de droite. Vous pouvez effectuer des sélections supplémentaires dans la liste déroulante de droite pour créer du code supplémentaires pour gérer l’événement choisi.

Éditeur Visual Basic avec liste déroulante de sélection d’objet

Au lieu de cela, une erreur se produit et le code n’est pas créé.

Erreur Microsoft Visual Basic : Cette variable utilise un type Automation non géré par Visual Basic.

ÉTAT : SOLUTION DE CONTOURNEMENT

Choisissez l’une de ces solutions pour contourner le problème :

SOLUTION DE CONTOURNEMENT 1

Vous pouvez effectuer la même étape sur un ordinateur exécutant Excel pour Windows, puis copier le code dans Excel pour Mac.

SOLUTION DE CONTOURNEMENT 2

Vous pouvez aller sur MSDN et rechercher la syntaxe de l’événement que vous voulez utiliser, puis saisir le code manuellement dans votre projet VBA. Cet article décrit les événements de « classeur » Microsoft Excel - Événements de classeur.

SOLUTION DE CONTOURNEMENT 3

Copiez le code d’événement approprié dans les exemples ci-dessous, puis collez-le dans votre projet VBA. Pour chaque événement, veillez à copier de « Private Sub... » à « End Sub », inclus.

    
    

Private Sub Workbook_Activate()

End Sub

Private Sub Workbook_AddinInstall()

End Sub

Private Sub Workbook_AddinUninstall()

End Sub

Private Sub Workbook_AfterRemoteChange()

End Sub

Private Sub Workbook_AfterSave(ByVal Success As Boolean)

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

End Sub

Private Sub Workbook_BeforePrint(Cancel As Boolean)

End Sub

Private Sub Workbook_BeforeRemoteChange()

End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

End Sub

Private Sub Workbook_Deactivate()

End Sub

Private Sub Workbook_NewChart(ByVal Ch As Chart)

End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)

End Sub

Private Sub Workbook_Open()

End Sub

Private Sub Workbook_PivotTableCloseConnection(ByVal Target As PivotTable)

End Sub

Private Sub Workbook_PivotTableOpenConnection(ByVal Target As PivotTable)

End Sub

Private Sub Workbook_RowsetComplete(ByVal Description As String, ByVal Sheet As String, ByVal Success As Boolean)

End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

End Sub

Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)

End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

End Sub

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)

End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

End Sub

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)

End Sub

Private Sub Workbook_SheetPivotTableAfterValueChange(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal TargetRange As Range)

End Sub

Private Sub Workbook_SheetPivotTableBeforeAllocateChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)

End Sub

Private Sub Workbook_SheetPivotTableBeforeCommitChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)

End Sub

Private Sub Workbook_SheetPivotTableBeforeDiscardChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long)

End Sub

Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable)

End Sub

Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)

End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

Private Sub Workbook_SheetTableUpdate(ByVal Sh As Object, ByVal Target As TableObject)

End Sub

Private Sub Workbook_Sync(ByVal SyncEventType As Office.MsoSyncEventType)

End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)

End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)

End Sub

Private Sub Workbook_WindowResize(ByVal Wn As Window)

End Sub

Icône Experts (cerveau, engrenages)

Demandez aux experts

Communiquez avec des experts, discutez des actualités d’Excel, des mises à jour et des meilleures pratiques, et lisez notre blog.

Communauté technique Excel

Icône Communauté

Obtenir de l’aide de la Communauté

Posez une question et trouvez des solutions avec les agents de support technique, les MVP, les ingénieurs et les autres utilisateurs d’Excel.

Forum de réponses d’Excel

Icône Proposition de fonctionnalité icône (ampoule, idée)

Suggérer une nouvelle fonctionnalité

Vos suggestions et commentaires sont les bienvenus. Faites-nous part de vos idées. Nous sommes à votre écoute.

Excel UserVoice

Voir aussi

Correctifs ou solutions de contournement pour les problèmes récents dans Excel pour Mac

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×