Réinitialisation du ruban en auto avec VBA

  • Initiateur de la discussion Initiateur de la discussion guiga16
  • Date de début Date de début

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 !

G

guiga16

Guest
bonjour,

Je voudrais savoir si il est possible de Réinitialiser le ruban standard en VBA
 

Pièces jointes

  • ruban.JPG
    ruban.JPG
    10 KB · Affichages: 120
  • ruban.JPG
    ruban.JPG
    10 KB · Affichages: 137
  • ruban.JPG
    ruban.JPG
    10 KB · Affichages: 139
Re : Réinitialisation du ruban en auto avec VBA

Bonjour,
inutile de multiplier les fils sur une question identique.
Concernant ta demande, ci-joint un extrait de l'aide d'Excel (touche F1) :
Application.CommandBars, propriété
Cette propriété renvoie un objet CommandBars qui représente les barres de commandes dans Microsoft Excel. Type de données en lecture seule.
Syntaxe

expression.CommandBars

expression Expression qui renvoie un objet Application.

Remarques


Utilisée avec l'objet Application, cette propriété renvoie l'ensemble des barres de commandes intégrées et personnalisées disponibles pour l'application.

Lorsqu'un classeur est incorporé dans une autre application et activé par l'utilisateur par un double clic, l'utilisation de cette propriété avec un objet Workbook renvoie l'ensemble des barres de commandes de Microsoft Excel disponibles dans l'autre application. Dans tous les autres cas, l'utilisation de cette propriété avec un objet Workbook renvoie la valeur Nothing.

Aucune programmation n'existe pour renvoyer l'ensemble des barres de commandes outils attachées à un classeur.


Exemple


Cet exemple montre comment supprimer toutes les barres de commandes personnalisées qui ne sont pas visibles.

Visual Basic pour Applications
For Each bar In Application.CommandBars
If Not bar.BuiltIn And Not bar.Visible Then bar.Delete
Next
A+
 
Dernière édition:
Re : Réinitialisation du ruban en auto avec VBA

Re-bonjour

pardon pour la multiplication j'aurai du modifier ma demande plutot que la refaire. Ca ne répond pas à ma question mais je vais chercher.
 
Re : Réinitialisation du ruban en auto avec VBA

Re
As-tu regardé du côté de la méthode Invalidate de l'objet IRibbonUI ?
Le problème , c'est que je ne peux tester les éventuelles solutions car je n'ai pas envie de perdre la personnalisation de mon Ruban...
Extrait de l'aide d'Excel :
Référence du développeur Office
IRibbonUI.Invalidate, méthode
Invalide les valeurs mises en cache pour tous les contrôles de l'interface utilisateur du ruban.
Syntaxe

expression.Invalidate

expression Expression qui renvoie un objet IRibbonUI.

Remarques


Vous pouvez personnaliser l'interface utilisateur du ruban en utilisant des procédures de rappel dans les compléments COM. Pour chaque rappel implémenté par le complément, les réponses sont mises en cache. Par exemple, si le générateur d'un complément implémente la procédure de rappel getImage pour un bouton, la fonction est appelée une fois, l'image se charge puis, si l'image a besoin d'être mise à jour, l'image mise en cache est utilisée sans qu'il soit nécessaire de rappeler la procédure. Ce processus reste en place jusqu'à ce que le complément signale que les valeurs mises en cache ne sont pas valides par l'intermédiaire de la méthode Invalidate. À ce moment-là, la procédure de rappel est à nouveau appelée et la réponse renvoyée mise en cache. Le complément peut alors forcer une mise à jour immédiate de l'interface utilisateur en appelant la méthode Refresh.


Exemple


Dans l'exemple suivant, le démarrage de l'application hôte déclenche la procédure événementielle onLoad. Celle-ci appelle alors une procédure qui crée un objet représentant l'interface utilisateur du ruban. Une procédure de rappel invalidant tous les contrôles de l'interface utilisateur et actualisant l'interface utilisateur est ensuite définie.

XML
<customUI … OnLoad=”MyAddinInitialize” …>

Visual Basic pour Applications
Dim MyRibbon As IRibbonUI

Sub MyAddInInitialize(Ribbon As IRibbonUI)
Set MyRibbon = Ribbon
End Sub

Sub myFunction()
MyRibbon.Invalidate() ‘ Invalidates the caches of all of this add-in’s controls
End Sub
A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
628
Réponses
13
Affichages
595
  • Question Question
XL 2021 Macros
Réponses
3
Affichages
227
Réponses
3
Affichages
211
Réponses
24
Affichages
2 K
Réponses
6
Affichages
292
Retour