Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/02/2011, 11h22   #1
Membre habitué
 
Inscription : octobre 2003
Messages : 483
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : octobre 2003
Messages : 483
Points : 136
Points : 136
Par défaut Chargement du ruban dans une variable objet au démarrage

Bonjour,
Je suis entrain d'essayer d'utiliser les rubans ACCESS 2007.
J'ai crée un ruban à partir du complément que l'on peut installer dans l'interface ACCESS. Cela fonctionne, j'arrive à créer mon ruban.

Mon ruban est enregistré dans la table système USysRibbons.

Ma base de donnée active charge bien le ruban, mon formulaire principal a sa propriété ruban initialisée.

Maintenant je souhaite agir sur ce ruban en masquant des groupes selon mon positionnement dans mon application.

J'ai donc crée dans un module dédié une fonction Ribbon_OnLoad() associée à la balise customUI() de mon ruban. Cette fonction doit normalement initialiser une variable globale oMonruban avec le ruban chargé.

Code :
1
2
3
4
Public Sub Ribbon_OnLoad(ribbon As IRibbonUI)
    Set oMonruban = ribbon
    RibbonGrpActionVisible = True
End Sub
En fait je ne passe jamais dans cette fonction Ribbon_OnLoad()!

==> Donc ma variable objet "oMonruban" n'est jamais initialisée

POURQUOI ?

a) Le fait que je dispose d'une table USysRibbons avec un ruban nommé "ruban01" charge-t-il automatiquement ce ruban ?
b) si dans les options ACCESS je sélectionne ruban01 signifiera-t-il qu'il sera chargé automatiquement et apparaitra avec mes formulaires ?
c) Dois je dans tous les cas mettre à jour la propriété "ruban" dans chacun de mes formulaires ?

Merci pour vos éclaircissements.
lio33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 18h30   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

Il faut que le xml du ruban contienne l'attribut onLoad dans l'élément customUI :
Code xml :
1
2
3
4
5
6
7
8
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
          onLoad="Ribbon_OnLoad">
<ribbon>
<tabs>
    <!-- ... etc ... -->
</tabs>
</ribbon>
</customUI>
L'attribut onLoad indique à Access le nom de la fonction de rappel à exécuter, au chargement du ruban.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 09h23   #3
Membre habitué
 
Inscription : octobre 2003
Messages : 483
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : octobre 2003
Messages : 483
Points : 136
Points : 136
C'était le cas.

Mais je ne sais pourquoi cela ne fonctionnait pas. Peut-être n'avais-je pas relancé Access suite à des modifs.
Maintenant cela semble fonctionner....

Merci quand même de ton aide.
lio33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h43.


 
 
 
 
Partenaires

Hébergement Web