CreatorRibbonX ImageMso evolution Rebuilder MinimalBackstage V8.0

CreatorRibbonX ImageMso evolution Rebuilder MinimalBackstage V8.0 8.x3

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

il faut le mettre dans un dossier et ce dossier tu le met sur ton bureau par exemple
il ne faut pas qu'il soit enfant direct d'un dossier existant de windows
si tu regardais les videos depuis le debut même si c'est pas la version actuelle dans les vidéos les règles sont les même
  1. donc dans un dossier propre a lui
  2. l'acces aprouvé au model de l'obect ........approuvé coché dans les options excel
  3. ne surtout pas laisser le creator dans les telechargement par exemple vu que windows defender le surveille et refuse les modif par robot (en l'occurence VBA) ou tout autre dossier natif de windows
je repete creator dans un dossier perso --> dossier perso ou tu veux sauf dossier natif
voila

patrick
ok.
je vais faire le test.
Détail ... cela n'explique pas pourquoi la version 7 fonctionne et pas celle là. A vérifier pour toi
 
je suis allé vérifier mis apart les 2/3 truc pour le backstage c'est pareil pour les deux
activate de la version 7.0
Code:
Private Sub UserForm_Activate()
    Dim ctrl, A&, wb As Workbook, i&, arrb, arrTab, c
    'ThisWorkbook.Activate
    For Each wb In Workbooks
        If wb.Name = "Sample.xlsm" Then MsgBox "Vous devez fermer le Sample": Exit Sub
    Next
    Me.Caption = creator_version
    grip.Move 0, 0, 1000, Frame1.Height
    FrameOngletsvisible.Move 438, 60
    FrameMenu1.Move 0, 29
    FrameOngletsvisible.Picture = Me.Picture
    FrameMenu1.Picture = Me.Picture
    fff.Picture = Me.Picture
    XlIconDialog3.Picture = Me.Picture
    If Dir(ThisWorkbook.Path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.Path & "\Sample.xlsm"
    If DocXml Is Nothing Then Me.Repaint


    BtxMenuFichier.Picture = Application.CommandBars.GetImageMso("ShapeRightArrow", 30, 30)
    BTXNewProject.Picture = Application.CommandBars.GetImageMso("BorderDrawLine", 30, 30)
    BtxLoadProjecT.Picture = Application.CommandBars.GetImageMso("HeaderFooterFilePathInsert", 30, 30)
    btxRegproject.Picture = Application.CommandBars.GetImageMso("FileSave", 30, 30)
    BtxSaveCallBack.Picture = Application.CommandBars.GetImageMso("FileSaveAs", 30, 30)
    Btxcreatefichier.Picture = Application.CommandBars.GetImageMso("FileSaveAsExcelXlsxMacro", 30, 30)
    BtxIntegreFichexistant.Picture = Application.CommandBars.GetImageMso("FileSaveAsExcelXlsxMacro", 30, 30)
    BtxVoirCodeXml.Picture = Application.CommandBars.GetImageMso("FilePrintPreview", 30, 30)
    Label72.Picture = Application.CommandBars.GetImageMso("AdvancedFileProperties", 30, 20)
    btxVoirRuban.Picture = Application.CommandBars.GetImageMso("ControlPaddingGallery", 30, 30)
    Btxtutoyoutube.Picture = Application.CommandBars.GetImageMso("ToolboxVideo", 30, 30)
    BtxVoirCodeXml.Picture = Application.CommandBars.GetImageMso("BorderDrawLine", 30, 30)
    BtxExtractionXML.Picture = Application.CommandBars.GetImageMso("FileSaveAsExcelXlsxMacro", 30, 30)

    Tbx_insertBefore.List = Range("tablistonglet").Value
    Set creatorRibbonX.oldmenuF = Btxtutoyoutube
    listboxcontext.List = Range("tableauidmsocontext").Value
    For Each c In Sheets("liste").Range("tlistgroupbuild").Value
        If c <> "" Then listgroupbuild.AddItem c
    Next

    If Tbxproject = "" And checksono Then JoueSonWavAsync sonP
    On Error Resume Next
    Set bar = CommandBars.Add("menuicofav", msoBarPopup, , True)
    'creation bouton dans menu
    With bar.Controls.Add(msoControlButton): .Caption = "Enregistrer dans les favoris": End With
    Set btm = bar.Controls(1)

End Sub

activate de la version 8
Code:
Private Sub UserForm_Activate()
    Dim CtrL, a&, wb As Workbook, i&, arrb, arrTab, c
    'ThisWorkbook.Activate
    For Each wb In Workbooks
        If wb.Name = "Sample.xlsm" Then MsgBox "Vous devez fermer le Sample": Exit Sub
    Next
    Me.Caption = creator_version
    grip.Move 0, 0, 1000, Frame1.Height
    FrameOngletsvisible.Move 438, 60
    FrameMenu1.Move 0, 29
    FrameOngletsvisible.Picture = Me.Picture
    Framenubackstage.Picture = Me.Picture
    Framenubackstage.Move 358.5, 385.5
    With Framenubackstage2
        .fond.Picture = Me.Picture
        .fond.Move -.Parent.Left, -.Parent.Top, Me.InsideWidth, Me.InsideHeight
    End With
    Framenubackstage2.Move 358.5, 23.5
    FrameMenu1.Picture = Me.Picture
    DoEvents
    
    fff.Picture = Me.Picture
    XlIconDialog3.Picture = Me.Picture
    If Dir(ThisWorkbook.Path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.Path & "\Sample.xlsm"
    If DocXml Is Nothing Then Me.Repaint
    
    
    BtxMenuFichier.Picture = Application.CommandBars.GetImageMso("ShapeRightArrow", 30, 30)
    BTXNewProject.Picture = Application.CommandBars.GetImageMso("BorderDrawLine", 30, 30)
    BtxLoadProjecT.Picture = Application.CommandBars.GetImageMso("HeaderFooterFilePathInsert", 30, 30)
    btxRegproject.Picture = Application.CommandBars.GetImageMso("FileSave", 30, 30)
    BtxSaveCallBack.Picture = Application.CommandBars.GetImageMso("FileSaveAs", 30, 30)
    Btxcreatefichier.Picture = Application.CommandBars.GetImageMso("FileSaveAsExcelXlsxMacro", 30, 30)
    BtxIntegreFichexistant.Picture = Application.CommandBars.GetImageMso("FileSaveAsExcelXlsxMacro", 30, 30)
    BtxVoirCodeXml.Picture = Application.CommandBars.GetImageMso("FilePrintPreview", 30, 30)
    Label72.Picture = Application.CommandBars.GetImageMso("AdvancedFileProperties", 30, 20)
    btxVoirRuban.Picture = Application.CommandBars.GetImageMso("ControlPaddingGallery", 30, 30)
    Btxtutoyoutube.Picture = Application.CommandBars.GetImageMso("ToolboxVideo", 30, 30)
    BtxVoirCodeXml.Picture = Application.CommandBars.GetImageMso("BorderDrawLine", 30, 30)
    BtxExtractionXML.Picture = Application.CommandBars.GetImageMso("FileSaveAsExcelXlsxMacro", 30, 30)
    
    Tbx_insertBefore.List = Range("tablistonglet").Value
    Set creatorRibbonX.oldmenuF = Btxtutoyoutube
    listboxcontext.List = Range("tableauidmsocontext").Value
    For Each c In Sheets("liste").Range("tlistgroupbuild").Value
        If c <> "" Then listgroupbuild.AddItem c
    Next
    
    If Tbxproject = "" And checksono Then JoueSonWavAsync sonP
    On Error Resume Next
    Set bar = CommandBars.Add("menuicofav", msoBarPopup, , True)
    'creation bouton dans menu
    With bar.Controls.Add(msoControlButton): .Caption = "Enregistrer dans les favoris": End With
    Set btm = bar.Controls(1)
    
End Sub

activate de la version 9.0 qui sort dans 3 jours (spéciale OfficeUI)
VB:
Private Sub UserForm_Activate()
    Dim CtrL, a&, wb As Workbook, I&, arrb, arrTab, c
    'ThisWorkbook.Activate
    For Each wb In Workbooks
        If wb.Name = "Sample.xlsm" Then MsgBox "Vous devez fermer le Sample": Exit Sub
    Next
    Me.Caption = creator_version
    grip.Move 0, 0, 1000, Frame1.Height
    FrameOngletsvisible.Move 438, 60
    FrameMenu1.Move 0, 29
    FrameOngletsvisible.Picture = Me.Picture
    Framenubackstage.Picture = Me.Picture
    Framenubackstage.Move 358.5, 385.5
    With Framenubackstage2
        .fond.Picture = Me.Picture
        .fond.Move -.Parent.Left, -.Parent.Top, Me.InsideWidth, Me.InsideHeight
    End With
    Framenubackstage2.Move 358.5, 23.5
    FrameMenu1.Picture = Me.Picture
    DoEvents
    
    fff.Picture = Me.Picture
    XlIconDialog3.Picture = Me.Picture
    If Dir(ThisWorkbook.path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.path & "\Sample.xlsm"
    If DocXml Is Nothing Then Me.Repaint
    
    
    BtxMenuFichier.Picture = Application.CommandBars.GetImageMso("ShapeRightArrow", 30, 30)
    BTXNewProject.Picture = Application.CommandBars.GetImageMso("BorderDrawLine", 30, 30)
    BtxLoadProjecT.Picture = Application.CommandBars.GetImageMso("HeaderFooterFilePathInsert", 30, 30)
    btxRegproject.Picture = Application.CommandBars.GetImageMso("FileSave", 30, 30)
    BtxSaveCallBack.Picture = Application.CommandBars.GetImageMso("FileSaveAs", 30, 30)
    Btxcreatefichier.Picture = Application.CommandBars.GetImageMso("FileSaveAsExcelXlsxMacro", 30, 30)
    BtxIntegreFichexistant.Picture = Application.CommandBars.GetImageMso("FileSaveAsExcelXlsxMacro", 30, 30)
    BtxVoirCodeXml.Picture = Application.CommandBars.GetImageMso("FilePrintPreview", 30, 30)
    Label72.Picture = Application.CommandBars.GetImageMso("AdvancedFileProperties", 30, 20)
    btxVoirRuban.Picture = Application.CommandBars.GetImageMso("ControlPaddingGallery", 30, 30)
    Btxtutoyoutube.Picture = Application.CommandBars.GetImageMso("ToolboxVideo", 30, 30)
    BtxVoirCodeXml.Picture = Application.CommandBars.GetImageMso("BorderDrawLine", 30, 30)
    BtxExtractionXML.Picture = Application.CommandBars.GetImageMso("FileSaveAsExcelXlsxMacro", 30, 30)
    BtxcloneOfficeUI.Picture = Application.CommandBars.GetImageMso("XmlImport", 30, 30)
    BtxRegOfficeUI.Picture = Application.CommandBars.GetImageMso("XmlExport", 30, 30)
    Tbx_insertBefore.List = Range("tablistonglet").Value
    Set creatorRibbonX.oldmenuF = Btxtutoyoutube
    listboxcontext.List = Range("tableauidmsocontext").Value
    For Each c In Sheets("liste").Range("tlistgroupbuild").Value
        If c <> "" Then listgroupbuild.AddItem c
    Next
    
    If Tbxproject = "" And checksono Then JoueSonWavAsync sonP
    On Error Resume Next
    Set bar = CommandBars.Add("menuicofav", msoBarPopup, , True)
    'creation bouton dans menu
    With bar.Controls.Add(msoControlButton): .Caption = "Enregistrer dans les favoris": End With
    Set btm = bar.Controls(1)
    grip.ZOrder 0
If checkscroll Then SetupMouseWheel
End Sub
voila donc tu vois c'est pas le code executé qui va faire une plantade c'est du vba de base
 
juste une comparaison cette ligne que tu as dans la 7 et pas vu dans la 8:
If Dir(ThisWorkbook.Path &amp; "\Sample.xlsm") &lt;&gt; "" Then Kill ThisWorkbook.Path &amp; "\Sample.xlsm"
MAIS que l'on retrouve dans la 9
 
c'est quoi ce &amp; ????
dans la v8 tu peux pas le voir
je viens de controler les 3
VB:
'v7
If Dir(ThisWorkbook.Path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.Path & "\Sample.xlsm"

'v8
If Dir(ThisWorkbook.Path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.Path & "\Sample.xlsm"
  
'V 9
If Dir(ThisWorkbook.path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.path & "\Sample.xlsm"
je vais controler sur celle qui est dans la ressource pourvoir

code v8 dans la ressource
VB:
If Dir(ThisWorkbook.Path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.Path & "\Sample.xlsm"
donc je ne sais pas ou tu est allé chercher ce "&amps;" qui est ni plus ni moins que l'échaper en html ou xml du caractere "&"
 
je viens d'avoir confirmation c'est un probleme connu avec les version2021 et +


⚠️ LE PROBLÈME N°1 (majeur, suffisant à lui seul)​


Application.CommandBars.GetImageMso​




BtxMenuFichier.Picture = Application.CommandBars.GetImageMso("ShapeRightArrow", 30, 30)

🔴 C’est un crash connu quand :
  • le projet est protégé
  • Office ≥ 2021
  • appelé pendant l’activation du UserForm

👉 Ça ne lève aucune erreur VBA
👉 Excel disparaît (crash natif)

Pourquoi ?
GetImageMso force :
  • l’accès au moteur Office UI
  • la résolution d’images internes
  • la synchronisation COM

👉 Or pendant UserForm_Activate, le formulaire n’est pas encore totalement initialisé
👉 Avec un projet protégé, la résolution COM arrive trop tôt → 💥


📌 Signature classique :
  • marche projet non protégé
  • crash projet protégé
  • parfois seulement après redémarrage Excel

c'est ce qui correspond a ce que tu a constaté
on m'a donné un truc je vais tester et te faire une version pour voir



 
c'est quoi ce &amp; ????
dans la v8 tu peux pas le voir
je viens de controler les 3
VB:
'v7
If Dir(ThisWorkbook.Path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.Path & "\Sample.xlsm"

'v8
If Dir(ThisWorkbook.Path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.Path & "\Sample.xlsm"
 
'V 9
If Dir(ThisWorkbook.path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.path & "\Sample.xlsm"
je vais controler sur celle qui est dans la ressource pourvoir

code v8 dans la ressource
VB:
If Dir(ThisWorkbook.Path & "\Sample.xlsm") <> "" Then Kill ThisWorkbook.Path & "\Sample.xlsm"
donc je ne sais pas ou tu est allé chercher ce "&amps;" qui est ni plus ni moins que l'échaper en html ou xml du caractere "&"
J'ai juste lu les extraits de code que tu viens de mettre en ligne plus haut 😲
 
bon tu va essayer cette version provisoire et me dire ce qui ne va pas
a telecharger ici
le rapport de chatGpt
👉 Ce que tu viens de faire est cohérent
👉 Ce n’est PAS “n’importe quoi”
👉 Mais il faut que tu comprennes exactement ce que ça garantit… et ce que ça ne garantit pas

✅ Ce que ton code fait BIEN maintenant​

1️⃣ Tu as supprimé les appels les plus dangereux au moment critique

Tu as commenté :
Code:
FrameOngletsvisible.Picture = Me.Picture
Framenubackstage.Picture = Me.Picture
FrameMenu1.Picture = Me.Picture
fff.Picture = Me.Picture
XlIconDialog3.Picture = Me.Picture
➡️ Très bien
Ces affectations d’images pendant Activate faisaient partie du problème.

2️⃣ Tu as isolé les parties risquées dans des fonctions​

Code:
If Not createmenubuttonico Then MsgBox ...
If Not createmenuicofav Then MsgBox ...
➡️ Bonne intuition
Ça te permet :
  • de continuer l’exécution
  • de ne pas planter immédiatement
  • de savoir où ça casse

3️⃣ Tu as compris un point clé (important)​

“si ça foire, je préfère un résultat dégradé qu’un crash Excel”
👉 C’est exactement la bonne stratégie en VBA moderne.

⚠️ Ce que ton code NE PEUT PAS garantir (important)​

On Error Resume Next ne protège PAS contre TON crash​

C’est le point crucial.
Code:
BtxMenuFichier.Picture = Application.CommandBars.GetImageMso(...)
Si ça plante :
  • ce n’est pas une erreur VBA
  • ce n’est pas interceptable
  • Err restera à 0
  • Excel fermera le classeur avant même de revenir dans VBA
👉 Donc :
Code:
If Not createmenubuttonico Then ...
👉 ne sera jamais exécuté dans ce cas-là.
⚠️ Ça ne sert que si GetImageMso échoue proprement (ce qui arrive parfois, pas toujours).

🔬 Ce que tu as réellement gagné avec cette version​

SituationRésultat
Office chaud / projet non protégéOK
Office chaud / projet protégéOK
Office froid / projet protégé⚠️ ça peut encore crasher
CrashToujours fermeture violente du classeur
👉 Tu as réduit la probabilité, pas supprimé le risque.

🧠 Pourquoi tu “verras bien”​

Et honnêtement… c’est défendable.
Parce que :
  • ce bug est très dépendant de la machine
  • tous les utilisateurs ne le verront pas
  • tu as déjà neutralisé 70 % du risque
Pour un outil perso ou diffusé à peu de gens → ça peut passer.

🟡 Si un jour tu veux le rendre vraiment sûr (sans module)​

Je te le dis juste pour info, sans insister :
👉 La seule vraie barrière fiable, c’est :
  • ne pas appeler GetImageMso pendant Activate
  • même encapsulé
  • même avec Resume Next
C’est le timing, pas la structure.

🧾 Verdict honnête​

✔️ Ton raisonnement est logique
✔️ Ton code n’est pas “sale”
✔️ Tu n’as PAS cassé ton projet
✔️ Tu peux protéger ton VBProject
⚠️ Mais le risque n’est pas à 0 %
Si un jour un utilisateur te dit encore :
“Excel ferme le fichier tout seul”
👉 tu sauras exactement pourquoi,
👉 et où intervenir.
Si tu veux, je peux te donner :
  • une version encore plus robuste sans module
  • ou une détection runtime Office 2024 pour désactiver l’iconification
Mais pour l’instant :
👉 oui, tu peux rester comme ça et observer.
 
Dernière édition:
Je termine "ma partie de jambe en l'air" 😲😱avec mes bugs et je m'occupe de ton sujet juste après. Promis!
Bon j'ai téléchargé ton fichier, je l'ai débloqué (propriété du fichier). Je l'ai lancé aussi à partir de mon bureau ... toujours le même message.
Je te l'ai dit ... j'ai la poisse. Je tombe toujours sur les bugs à la con. 😲😰
T'inquiéte pas: "J'ai les mêmes à la maison" 🥵
Précision: Je peux cliquer n'importe où j'ai la meme Message box => ce n'est donc pas spécifique à ton bouton.
1768232981040.png
 
Du nouveau ...
Je suis allé dans le menu excel et j'ai eu neuf:
Regarde la pièce jointe 1226683

Dis moi il y a une sacré différence de taille entre la version que tu viens de me donner et celle en ligne.
1768233748417.png
Information Microsoft​

Erreur de compilation dans le module masqué : <nom du module>​

Un document protégé module contient une erreur de compilation. Étant donné que l’erreur est dans un module protégé que ne peuvent pas être affiché.
Cette erreur se produit souvent lorsque le code est incompatible avec la version ou architecture actuelle de cette application (par exemple, le code dans les applications de Microsoft Office 32 bits un cibles document mais tente de s’exécuter sur Office 64 bits).
Causes et solutions pour cette erreur :
Source de l’erreur.
  • L’erreur est générée lorsqu’il existe une erreur de compilation dans le code VBA à l’intérieur d’un module protégé (masqué). L’erreur de compilation spécifique n’est pas exposé, car le module est protégé.
Solutions possibles :
  • Si vous avez accès au code VBA dans le document ou le projet, ôter la protection du module, puis exécutez le code de nouveau pour afficher le message d’erreur spécifique.
  • Si vous n’avez pas accès au code VBA dans le document, contactez l’auteur du document pour que le code dans le module caché mis à jour.
 
Dernière édition:
re
le premier entre 700 et 800 mega c'est pas normal a mon avis ton excel a supprimé quelque chose
le 2d par contre c'est normal il fait le bon poids
mais bon comme m'a dit chatGpt c'est propre au configs sur office 2021 et +
il y a de fortes chances que ce soit mort pour toi de travailler du xml customUI en VBA
surtout le backstage
certains vont passer au travers d'autres non
tu devra te contenter de la 7 qui ne traite que le ruban malheureusement elle ne sera plus mse a jour
je vais t'en faire une juste pour tester sans le backstage mais je doute que ca suffise
comme tu peux le voir la 7 fait plus de 1 mega et pas loin de la v8
1768239403853.png
 
re
le premier entre 700 et 800 mega c'est pas normal a mon avis ton excel a supprimé quelque chose
le 2d par contre c'est normal il fait le bon poids
mais bon comme m'a dit chatGpt c'est propre au configs sur office 2021 et +
il y a de fortes chances que ce soit mort pour toi de travailler du xml customUI en VBA
surtout le backstage
certains vont passer au travers d'autres non
tu devra te contenter de la 7 qui ne traite que le ruban malheureusement elle ne sera plus mse a jour
je vais t'en faire une juste pour tester sans le backstage mais je doute que ca suffise
comme tu peux le voir la 7 fait plus de 1 mega et pas loin de la v8
Regarde la pièce jointe 1226687
premier entre 700 et 800 mega est le dernier lien que tu m'as fourni cet aprés midi.
Vérifie sa taille tu t'es peut être trompé et mis un mauvais fichier à ma disposition dans Box?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour