Microsoft 365 Création d'un nouvel onglet du ruban en vba et y attacher 4 macros complémentaires (MAC et PC)

RyuAutodidacte

XLDnaute Impliqué
Bonjour,

j'ai beau chercher partout mais je ne trouve de solution pour le moment …

Comme l'onglet "Acceuil" qui existe dans le ruban, je cherche à pourvoir créer par vba un nouvel onglet "TOTO" et y insérer 4 macros, provenant d'un complément Excel d'un fichier xlam déjà insérer par macro :
VB:
Sub Add_AddIn() 'version Mac (peut être PC aussi pouvez vous confirmer SVP)
Dim addInPath As String
    addInPath = "MonChemin/TEST.xlam"
    AddIns.Add addInPath
    AddIns("TEST").Installed = True '
End Sub
Le but est de pourvoir faire une automatisation d'installation sur plusieurs utilisateurs Mac et PC

merci d'avance pour vos réponses

Ryu
 

patricktoulon

XLDnaute Barbatruc
pas de problème
on peut faire ce que l'on veut
demo1.gif
 

patricktoulon

XLDnaute Barbatruc
voici une idée d'applescript
il faudra adapter les chemins en dur dans le code des scpt
on peut les faires en dur puisque c'est sensé être toujours les même path
Script d'extraction : ExtractScript.scpt

Code:
-- ExtractScript.scpt

on extractTask()
    -- Définir les chemins basés sur les paramètres ou les fixer ici
   -- ici on peut les coder en dur puisque  ils sont sansés etre toujours au meme endroit 
    set archivePath to "/chemin/vers/sample.zip"
    set destinationFolderPath to "/chemin/vers/projetUI"
  
    -- Supprimer le dossier de destination s'il existe (ne fait rien sil il n'existe pas)
    do shell script "rm -rf " & quoted form of destinationFolderPath with administrator privileges
  
    -- Créer le dossier de destination
    do shell script "mkdir -p " & quoted form of destinationFolderPath with administrator privileges
  
    -- Définir les autorisations pour le dossier de destination
    do shell script "chown -R $(whoami) " & quoted form of destinationFolderPath with administrator privileges
    do shell script "chmod -R 755 " & quoted form of destinationFolderPath with administrator privileges
  
    -- Extraire l'archive dans le dossier de destination
    do shell script "unzip " & quoted form of archivePath & " -d " & quoted form of destinationFolderPath with administrator privileges
 -- Supprimer l'archive après l'extraction   
    do shell script "rm " & quoted form of archivePath with administrator privileges 
    return "Extraction terminée avec succès"
end extractTask

Script de recompression : CompressScript.scpt

Code:
-- CompressScript.scpt

on compressTask()
    -- Définir les chemins basés sur les paramètres ou les fixer ici
    set destinationFolderPath to "/chemin/vers/projetUI"
    set newArchivePath to "/chemin/vers/projetUI.zip"
  
    -- Recompresser le contenu du dossier projetUI dans une nouvelle archive
    do shell script "zip -r " & quoted form of newArchivePath & " " & quoted form of destinationFolderPath with administrator privileges
  
    return "Compression terminée avec succès"
end compressTask

et les commandes vba
VB:
Sub RunAppleScriptTasks()
    Dim scriptName As String
    Dim handlerName As String
     Dim result As String

    ' Appeler le script d'extraction
    scriptName = "ExtractScript.scpt"
    handlerName = "extractTask"
  
    result = AppleScriptTask(scriptName, handlerName, "")
    MsgBox "Extraction: " & result
End Sub
 
Sub RunAppleScriptTasks2()
  ' Appeler le script de compression
    scriptName = "CompressScript.scpt"
    handlerName = "compressTask"
  
    result = AppleScriptTask(scriptName, handlerName, "")
    MsgBox "Compression: " & result
End Sub

Explications :​

  1. Scripts AppleScript :
    • ExtractScript.scpt gère l'extraction des fichiers.
    • CompressScript.scpt gère la recompression des fichiers.
    • Chaque script a un gestionnaire (extractTask et compressTask) qui exécute les tâches spécifiques.
  2. Code VBA :
    • AppleScriptTasks et AppleScriptTasks2
    • sont utilisés pour appeler chaque script séparément.
    • Les résultats de chaque script sont affichés avec MsgBox.

Notes :​

  • Assurez-vous que ExtractScript.scpt et CompressScript.scpt sont enregistrés dans le dossier des scripts utilisateurs : ~/Library/Application Scripts/com.microsoft.Excel/.
  • Adaptez les chemins et les paramètres en fonction de votre environnement et de vos besoins

proposé par chatGPT et un peu remanié à ma sauce
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
Bonsoir Ryu
donc pour la 1.04 qui sera la finale pour la version imageMso
  1. ajout de ton nouveau module de création Mac
  2. suppression de tout tes anciens modules
  3. ajout du dialogboxlauncher dans le menu container
  4. ajout des voyant rouge et vert pour le menu tree mode
  5. fonction AdmissibleAttribut plus exhaustive
  6. j'ai essayé de faire les appels au script mais je ne suis pas sur il faudra donc que tu me donne les appels pour le dialog mac csv tu me l'a pas donné hier
  7. j'ai ajouté les appels deletefolder
 

Statistiques des forums

Discussions
313 769
Messages
2 102 234
Membres
108 181
dernier inscrit
Chr1sD