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
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