IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Ribbon + ButtonOnAction callback code VBA (marche pas) [AC-2007]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    asistant à enquête web et traitements de controles
    Inscrit en
    Août 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : asistant à enquête web et traitements de controles
    Secteur : Service public

    Informations forums :
    Inscription : Août 2015
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Ribbon + ButtonOnAction callback code VBA (marche pas)
    Bonsoir,
    Je reprends -pour aider- un job de développeur (ici VBA pour accesss 2007)
    J'ai un Pb sans doute de débutant dans la nanip de l'éditeur VBA MS
    Merci pour l'aide à venir

    1) mon code vba (assez volumineux) est organisé par formulaires
    - projet BD_Thermal (....BD courante)
    Form_1
    ....
    Form_n
    Mod_BD

    2) mon code XML du ruban perso fonctionne bien pour un appel (Run1) de Macro,
    mais pas pour un callback de procédure (Visu2), que ce soit une Function ou Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
      <ribbon startFromScratch="false">
        <tabs>
          <tab id="tab_1" label="MENU 1" visible="true">
          	<group id="idg1_visu" label="Visualisations">
                	<button id="Run1" label="Repondants" onAction="M_Repondants"/>
      		<button id="visu2" label="Relations" onAction="ButtonOnAction"/>
    3) le code appelé par onAction="ButtonOnAction" est basique (pour test) :
    MAIQ IL EST DANS LE MODULE "Mod_BD"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Compare Database
    Public Function ButtonOnAction(control As IRibbonControl)
        Select Case control.id
            Case "visu2"
                MsgBox "appel de visu2"
            ...
            Case Else
                MsgBox "Else avec : " & control.id & "   click"
        End Select
    End Function
    Quelle est l'origine du défaut ? (nota : Menu_1 se charge comme prévu dans la barre Menu)
    Serait-ce que le code de 'Function ButtonOnAction' ne serait pas accessible là où il est ?
    Ou bien un type d'objet non défini ? (mais 'MS Office 12.0 Object Library' est activé via Outils/Ref)
    Ou toute autre chose ?

    Merci pour le déblocage, bien cordialement

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,
    Je ne suis pas féru de ruban mais peut-être que dans ce tuto tu trouveras ton bonheur :

    http://warin.developpez.com/access/ruban/

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Futur Membre du Club
    Homme Profil pro
    asistant à enquête web et traitements de controles
    Inscrit en
    Août 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : asistant à enquête web et traitements de controles
    Secteur : Service public

    Informations forums :
    Inscription : Août 2015
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour et merci pour la réponse et le lien
    (j'avais vu ce tuto et qcq autres : il y en a assez pour comprendre que l'usage des rubans n'est pas des plus aisé)

    Mais mon PB est peut être dans le code VBA ou/et dans l'accès aux routines. Je m'explique :
    le code XML de spécif du "ruban perso" est le suivant. Qd il appelle une Macro çà marche, mais pas pour appeler une routine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
      <ribbon startFromScratch="false">
        <tabs>
          <tab id="tab_1" label="MENU de GESTION" visible="true">
          	<group id="idg_visu" label="Visualisations">
    			<button id="Run1" label="go_function" onAction="MCode_V1"/>
    (...)
            </group>
          </tab>
        </tabs>
      </ribbon>
    </customUI>
    Le code appelé est simplissime, MAIS il est placé dans le module Mod_BD
    Nom : customUI xmlns.jpg
Affichages : 523
Taille : 115,6 Ko

    D'où une piste. La routine pourrait ne pas être reconnue parce que mal placée : le ruban est appelé depuis la BD elle même (sa racine) et pas depuis un de ses composant (Form, ...)
    Et ma question ! Comment nommer le Sub appelé (dans le code XML) avec son chemin dans le structure des objets (mon expression "chemin" n'est pas adéquate)
    xxxx . Mod_BD . MCode_V1

    Ceci pour le cas où tu aurais une idée
    Bien cordialement
    Images attachées Images attachées  

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    A première vu tu ne respectes pas le contrat d'utilisation des rubans.

    La procédure doit avoir cette syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub onAction(ByVal control As IRibbonControl)
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Futur Membre du Club
    Homme Profil pro
    asistant à enquête web et traitements de controles
    Inscrit en
    Août 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : asistant à enquête web et traitements de controles
    Secteur : Service public

    Informations forums :
    Inscription : Août 2015
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Re,

    NON
    comme je n'utilise pas le controle ? (à ce stade de mon test d'un ruban) y a pas de raison (sauf si l'OS génère ce param automatiquement depuis le xml)

    OUI
    mais si je vais pour le récupérer (avec la syntaxe standard que tu donnes) j'ai la même erreur que dans le cas précédent (appel de MCode_V1)
    ... mais, dans ce cas, la compil du module me donne une non déclaration du As IRibbonControl (alors que sa library est déclarée)

    Ceci si çà pouvait d'aider pour ton secours de moi un peu perdu et que le sable de la plage appelle, ....
    A +, crdlt

  6. #6
    Futur Membre du Club
    Homme Profil pro
    asistant à enquête web et traitements de controles
    Inscrit en
    Août 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : asistant à enquête web et traitements de controles
    Secteur : Service public

    Informations forums :
    Inscription : Août 2015
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonsoir Loubaf,
    après reflexion je me suis dit que l'explication devait être ailleurs que là où je la cherchais
    ... il me manquait une librairie : MSO 12.0 Object Library
    Comme quoi on cherche parfois là où ne faut pas

    Merci pour ton écoute
    Bien cordialement et bon dimanche

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    En effet si les références requises sont manquantes ça ne peut que pas fonctionner. Vérifie dans tes réglages VBE que la compilation sur demande ne soit pas cochée, sinon tant que tu ne compile pas explicitement il ne t'indique pas les erreurs de ce genre.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #8
    Futur Membre du Club
    Homme Profil pro
    asistant à enquête web et traitements de controles
    Inscrit en
    Août 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : asistant à enquête web et traitements de controles
    Secteur : Service public

    Informations forums :
    Inscription : Août 2015
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    salut loubaf
    effectivement, c'est en compilant que je m'en suis aperçu
    ... les bugs ne sont pas tjrs là où on les croit
    Bien crdlt à toi, et encore merci pour l'accompagnement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. diaporama: pourquoi mon code ne marche pas
    Par secondechance dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/05/2009, 02h04
  2. code ne marche pas
    Par zakaroh dans le forum C#
    Réponses: 7
    Dernier message: 18/07/2008, 11h11
  3. videoroll vogroll code ne marche pas
    Par crikooo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/12/2007, 08h57
  4. je ne sais pas pourquoi ce code ca marche pas
    Par debutantasp dans le forum ASP
    Réponses: 14
    Dernier message: 23/11/2007, 17h10
  5. [VBA-E] mon code ne marche pas sur un autre PC
    Par yannph dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/01/2006, 21h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo