Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème de code VBA dans Excel 2016 pour Mac

José FELIX

XLDnaute Junior
Bonjour à tous

Mon problème est dans le titre. J'utilise depuis "toujours" la macro STATAIX. Pour ceux qui connaissent, c'est une macro qui permet de faire des boites à moustaches. Je sais qu'Excel a créer un nouveau graphique "Zone et valeur" mais il est complètement verrouillé. Je me sert de ces graphiques pour expliquer aux étudiants les problématiques de rémunération, plus facile à lire sur le plan graphique que dans un fichier.

J'ai donc implémenté STATAIX sur mon mac et là...problème : le code VBA ne fonctionne pas sur Mac alors qu'il fonctionne parfaitement sur PC.

Vous trouverez ci-dessous le code et la séquence où cela bloque. Si quelqu'un pouvait se pencher sur le problème, j'en serais très heureux et mes étudiants Mac aussi. Les étudiants PC en rigolent encore


Option Explicit
Public Const APPNAME = "StatAix"
Public Const APPVERSION = "1.2"
Public Const StatAixCaption As String = APPNAME
Public Const DBoitamouCaption As String = "Donnees Boîte à moustaches"
Public Const DBoitamouMacro As String = "DonneesBoiteAMoustaches"
Public Const GBoitamouCaption As String = "Graph Boîte à moustaches"
Public Const GBoitamouMacro As String = "GraphBoiteAMoustaches"
Public Const DesinstallerCaption As String = "Desinstaller"
Public Const DesinstallerMacro As String = "Desinstaller"

Sub CreateMenu()
Dim XLCommandBar As Integer
Dim NewMenu As CommandBarPopup
Dim NewItem As CommandBarButton
Dim ToolsMenu As CommandBarPopup

XLCommandBar = 1 'Worksheet Menu Bar

' This code handles non-English versions of Excel
' in which the 'Tools' menu has a different name
Set ToolsMenu = CommandBars(XLCommandBar).FindControl(msoControlPopup, 30007)

' Delete the current menu if it exists (just in case)
On Error Resume Next
CommandBars(XLCommandBar).Controls(StatAixCaption).Delete
On Error GoTo 0

' Create the new menu item
Set NewMenu = CommandBars(XLCommandBar).Controls.Add(Type:=msoControlPopup) >>> C'est cette insctruction que Excel16 pour Mac ne comprend pas. Pourtant, elle fonctionne sur PC.

NewMenu.Caption = StatAixCaption
 

José FELIX

XLDnaute Junior
Bonjour et désolé d'avoir créé deux fois la même demande. Je ne me souvenais plus d'avoir déjà posté cette dernière.

Le fait est que je n'ai toujours pas eu de réponse...Peut-être que, sur ce coup ci, il n'y a pas d'utilisateur Excel sur mac. Dommage. Et merci
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

José FELIX
Le VBA fonctionne mieux sur PC sous Windows
Pourquoi.?
Parce Windows, c'est Microsoft, Excel c'est Microsoft.
Et Microsoft n'aime pas nativement la Pomme.

C'est qu'on peut remarquer d'ailleurs sur le site de Ron.

NB: Poser N fois ta question sur plusieurs forums, cela a un petit nom: le multipostage
Et la coutume veut (voulait) qu'on le signale par un URL
(Histoire d'éviter de poster des réponses déjà présentes sur l'un ou l'autre des forums)
https://forum.formuleexcel.com/t/la-celebre-macro-stataix-dexcel-ne-fonctionne-pas-sur-mac/1177
https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=101582&start=
 
Dernière édition:

José FELIX

XLDnaute Junior
Bonsoir Staple 1600. Merci de cette recherche : cette macro fonctionne.

Maintenant, il va falloir que je trouve le moyen de créer un nouveau menu dans Excel pour Mac et de la "coller" dans un bouton. Je sens que je vais y passer le week-end mais rien n'est trop beau pour mes étudiants.

Merci encore de votre retour.

Bien cordialement
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…