Bonjour à toutes et à tous,
Après avoir obtenu avec beaucoup de sympathie et d'aide de votre part dans divers fichiers, je me lance dans le Ruban personnalisé pour mon classeur,
J'ai un fichier ci-joint, j'aimerais savoir si c'est possible uniquement dans mon classeur "TestRuban" d'avoir uniquement mon ruban "TestRuban" qui apparait ? Et, aucun des autres, croyez-vous que ce soit possible ? Merci pour vos réponses,
Qui à parlé de décompresser le classeur ?
Il faut bien lire les énoncés ouvrir l'archive cela donne un truc dans le genre...
Ensuite c'est comme dans l'explorateur le fichier xml est dans le répertoire customUI
Voici le classeur avec le minimum vital les Callbacks et de quoi récupérer le ruban...
C'est une feuille que j'ai ajouté au projet elle me sert à stocker le Handle du ruban en cas de perte, pendant les tests et autres.
Contrairement à certains, je regroupe toutes les actions du ruban par type de contrôle, et pour éviter de surcharger mon module de Callbacks je crée des procédures dans un module standard ou je place mon code. (à chacun sa façon et je ne dénigre pas les autre.)
Par exemple le bouton customButton1 (on ne s'est pas foulé pour le nom) aura son code dans le module Ribbon et cela donne :
VB:
'@Description "Déclenchée lorsque vous cliquez sur le contrôle afin de l'utiliser."
Public Sub OnActionButton(Control As IRibbonControl)
Select Case Control.ID
Case "customButton1"
' // Ici appel de la procédure liée au bouton custom1
Ribbon.CustomButtonProcédure
Case "customButton2"
MsgBox "Vous avez cliqué sur : " & Control.ID
Case "customButton3"
MsgBox "Vous avez cliqué sur : " & Control.ID
Case Else
Debug.Print "Case """; Control.ID; """" '; vbTab; " "; Control.Tag; """" ' // cette ligne crée automatiquement la section case avec le nom du contrôle ;)
End Select
End Sub
Dans le xml tous les boutons auront le même onAction exemple :
Merci Valtrase pour les infos et la précision, vraiment je vous remercie tous, je suis ravi de faire partie de ce groupe de passionnés,
Bonne soirée à toutes et à tous,
C'est une feuille que j'ai ajouté au projet elle me sert à stocker le Handle du ruban en cas de perte, pendant les tests et autres.
Contrairement à certains, je regroupe toutes les actions du ruban par type de contrôle, et pour éviter de surcharger mon module de Callbacks je crée des procédures dans un module standard ou je place mon code. (à chacun sa façon et je ne dénigre pas les autre.)
Par exemple le bouton customButton1 (on ne s'est pas foulé pour le nom) aura son code dans le module Ribbon et cela donne :
VB:
'@Description "Déclenchée lorsque vous cliquez sur le contrôle afin de l'utiliser."
Public Sub OnActionButton(Control As IRibbonControl)
Select Case Control.ID
Case "customButton1"
' // Ici appel de la procédure liée au bouton custom1
Ribbon.CustomButtonProcédure
Case "customButton2"
MsgBox "Vous avez cliqué sur : " & Control.ID
Case "customButton3"
MsgBox "Vous avez cliqué sur : " & Control.ID
Case Else
Debug.Print "Case """; Control.ID; """" '; vbTab; " "; Control.Tag; """" ' // cette ligne crée automatiquement la section case avec le nom du contrôle ;)
End Select
End Sub
Dans le xml tous les boutons auront le même onAction exemple :
Quand Excel partage le fichier, est-ce que ces macros fonctionnent ?
Autrement dit, est-ce qu'on peut lancer un classeur partagé par Excel et avoir un Ruban constitué uniquement de fonctions personnelles (exit les Couper, Copier, Coller, etc.) ?
Le tout, sans que ça influe sur les autres classeurs ouverts simultanément.
Bonjour,
Le seul problème que je peux voir c'est si le classeur est ouvert avec une version Web d'Excel, Ne pas oublier non plus que le ruban fonctionne avec des Callbacks donc du VBA, donc autorisations et tout le tintouin.