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 07/12/2010, 18h41   #1
Membre à l'essai
 
Homme Jean François Denes
Amateur
Inscription : juin 2010
Messages : 42
Détails du profil
Informations personnelles :
Nom : Homme Jean François Denes
Localisation : France

Informations professionnelles :
Activité : Amateur

Informations forums :
Inscription : juin 2010
Messages : 42
Points : 22
Points : 22
Par défaut Action avec Assistant ruban pour office

En premier lieu, bravo pour cet assistant.
Je m'y essaye, et arrive à déclencher une action en utilisant un "Id d'un élément standard."
Par contre en essayant de déclencher une action via "l'Id unique de l'élément." le code

Code :
1
2
3
4
5
6
Sub Ruban_OnAction(control As IRibbonControl)
Select Case control.id
Case "B2"
   ' <== Votre code ici
End Select
End Sub
est bien généré, mais ne peut se compiler on obtient le msg

"Erreur de compilation"
"Type défini par l'utilisateur non défini"

Est-ce qu'il manque une bibliothèque ?

Merci.
JFDAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 09h11   #2
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 936
Points : 7 936
bjr,

IRibbonControl nécessite la référence :
Microsoft Office 12 Object Library
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 16h06   #3
Membre à l'essai
 
Homme Jean François Denes
Amateur
Inscription : juin 2010
Messages : 42
Détails du profil
Informations personnelles :
Nom : Homme Jean François Denes
Localisation : France

Informations professionnelles :
Activité : Amateur

Informations forums :
Inscription : juin 2010
Messages : 42
Points : 22
Points : 22
Bjr,

effectivement, j'ai ajouté Microsoft Office 12 Object Library, et maintenant je peux compiler.
Sur "voir le ruban", on a le ruban correct avec les tags, boutons, ... mais aucune action n'est déclenchée.
J'ai bien dans le form ruban sous le bouton "VBA" de l'assistant.
Code :
Sub Ruban_OnAction(control As IRibbonControl)
Le code
Code :
1
2
3
4
5
6
7
8
9
10
Sub Ruban_OnAction(control As IRibbonControl)
 
MsgBox "ici"
 
Select Case control.id
Case "button1"
   ' <== Votre code ici
   MsgBox " la "
End Select
End Sub
a bien été généré et compilé, j' y ai ajouté les msgbox pour voir si le module était appelé. Rien ne se passe.

Je suis sous systeme 7,
Pour éviter un problème "autorisation admin", j'ai positionné

Code :
1
2
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLUA"=dword:00000000
J'ai maintenant (en plus de Microsoft Office 12 Object Library) comme référence
  • Visual Basic For App
  • µsoft Access 12.0 Obj lib
  • OLE automation
  • µSoft Office 12.0 Access db engine obj lib

J'ai essayé avec et sans AssistantRuban => Pas de différence, faut-il- que la référence soit cochée sachant que l'assistant semble bien installé.

Question complémentaire:
le code avec Case est bien généré pour le premier bouton, les suivants ne le sont pas. J'imagine que c'est normal ?



Merci.
JFD
JFDAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 09h18   #4
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 936
Points : 7 936
Citation:
Envoyé par JFDAccess Voir le message
Sur "voir le ruban", on a le ruban correct avec les tags, boutons, ... mais aucune action n'est déclenchée.
Oui je n'ai pas précisé dans la doc mais le ruban s'ouvre dans une appli temporaire juste pour visu. Les actions qui sont codés en VBA ne sont pas reprises.
En ouvrant directement la base de données qui contient le ruban ça devrait marcher.
Le bouton a-t'il bien Ribbon_onAction dans sa propriété onAction?

Citation:
Envoyé par JFDAccess Voir le message
J'ai essayé avec et sans AssistantRuban => Pas de différence, faut-il- que la référence soit cochée sachant que l'assistant semble bien installé.
Oui la référence doit de toute façon être cochée dans la base de données qui contient le ruban.
L'assistant utilise ses propres références.

Citation:
Envoyé par JFDAccess Voir le message
Question complémentaire:
le code avec Case est bien généré pour le premier bouton, les suivants ne le sont pas. J'imagine que c'est normal ?
Oui c'est normal.
La procédure est générée lorsqu'elle n'existe pas.
Si elle existe je préfère ne pas y toucher.
Il faut donc manuellement ajouter un case pour les boutons suivants.
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 11h29   #5
Membre à l'essai
 
Homme Jean François Denes
Amateur
Inscription : juin 2010
Messages : 42
Détails du profil
Informations personnelles :
Nom : Homme Jean François Denes
Localisation : France

Informations professionnelles :
Activité : Amateur

Informations forums :
Inscription : juin 2010
Messages : 42
Points : 22
Points : 22

Effectivement, ça marche, Merci
Par contre une suggestion pour les béotiens tels que moi - et surtout les suivants -, si possible rajouter dans la doc :
Pour les références à ajouter
  • Microsoft Office 12 Object Library
  • AssistantRuban

Et 2 mots sur, le fonctionnement de l'appli temporaire, et comment faire pour tester en vrai le module généré et le code XML.(bien qu'effectivement on les retrouve dans d'autres tuto, mais je n'avais pas compris qu'ils ne s'appliquaient pas ici)

Mais maintenant je vais me lancer dans l'aventure... avec ce ruban qui me paraissait rébarbatif.
JFDAccess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 11h38   #6
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 936
Points : 7 936
Citation:
Envoyé par JFDAccess Voir le message
si possible rajouter dans la doc :
Pour les références à ajouter
  • Microsoft Office 12 Object Library
  • AssistantRuban
Je note l'histoire de la réf à "ms Office 12 ...".
je vais peut-être aussi rajouter un ajout automatique de la référence lors de l'utilisation en addin au moment de la génération du code.

Par contre la référence à "AsssistantRuban" n'est pas utile.
Une fois le ruban généré, il fonctionne sans l'assistant.

Citation:
Envoyé par JFDAccess Voir le message
Et 2 mots sur, le fonctionnement de l'appli temporaire, et comment faire pour tester en vrai le module généré et le code XML.(bien qu'effectivement on les retrouve dans d'autres tuto, mais je n'avais pas compris qu'ils ne s'appliquaient pas ici)
Je note aussi, pour la prochaine version.

C'est vrai que la doc est un peu succinte.
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 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 20h23.


 
 
 
 
Partenaires

Hébergement Web