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

Access Discussion :

Comment executer une macro convertie dans une procedure sub


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 7
    Points
    7
    Par défaut Comment executer une macro convertie dans une procedure sub
    Bonjour,

    J'ai converti une macro en code, je voudrais pouvoir l'exécuter dans une procédure Sub

    Merci

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut

    2 solutions

    ou

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Je me suis mal expliqué, c'est :
    Comment exécuter une macro convertie"Agenda" sur la proprieté "Sur Entrée " d'un champ "Heure_Def" dans un formulaire "Temp_Ag"

    Merci

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Non, tu ne t'es pas mal exprimé.

    Je ne vois pas où est le problème...

    Je vais te détailler la procédure mais bon.. j'ai des doutes que tu ne saches pas faire ça...

    Ouvre le module de ta macro convertie
    Tu as :
    Ajout Public devant Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Function NomMacro()
    Ouvre ton formulaire Temp_Ag
    Affiche les propriétés
    Sélectionne ton champ Heure_Def
    Va sur la propriété Sur Entrée
    Dans la liste déroulante choisi "Procédure événementielle" ou
    Clique sur les ...
    Sélectionne générateur de code
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Texte0_Enter()
     
        NomMacro
     
    End Sub

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 7
    Points
    7
    Par défaut
    Bonjour

    En gros c'est ce que j'avais fait, sauf que je n'avais pas mis "Public Function", dans ma macro convertie;
    J'ai fait les corrections et jai le message d'erreur suivant

    "Erreur de compilation
    Valeur ou procédure attendue et non un module"

    Ma Macro convertie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Option Compare Database
     
    '------------------------------------------------------------
    ' HEURE_AGENDA_A
    '
    '------------------------------------------------------------
    Public Function HEURE_AGENDA_A()
    On Error GoTo HEURE_AGENDA_A_Err
     
        If (Eval("DLookUp(""[DATE_PRISES]"",""[VERIF LIGNES A]"") Is Not Null")) Then
            Beep
            ' AtteindreSuivant
            DoCmd.RunCommand acCmdRecordsGoToNext
            Exit Function
        End If
        DoCmd.SetWarnings False
        ' F9
        SendKeys "{F9}", False
        ' VERIF AGENDA LIBRE_01_A
        DoCmd.OpenQuery "VERIF AGENDA LIBRE_01_A", acViewNormal, acEdit
        ' VERIF AGENDA LIBRE_04_A
        DoCmd.OpenQuery "VERIF AGENDA LIBRE_04_A", acViewNormal, acEdit
        If (Eval("DLookUp(""[N°CLIENT]"",""[VERIF AGENDA LIBRE_03_A]"") Is Null")) Then
            Beep
            ' F9
            SendKeys "{F9}", False
            ' VERIF AGENDA LIBRE_01_A
            DoCmd.OpenQuery "VERIF AGENDA LIBRE_01_A", acViewNormal, acEdit
            ' VERIF AGENDA LIBRE_05_A
            DoCmd.OpenQuery "VERIF AGENDA LIBRE_05_A", acViewNormal, acEdit
            Exit Function
        End If
        Exit Function
     
     
    HEURE_AGENDA_A_Exit:
        Exit Function
     
    HEURE_AGENDA_A_Err:
        MsgBox Error$
        Resume HEURE_AGENDA_A_Exit
     
    End Function


    Ma procédure sur "Entree"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub HeureFinAgenda_Enter()
    HEURE_AGENDA_A
    End Sub
    Je ne voie pas ce qui cloche
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Remplace Function par Sub

    Starec

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    J'ai bien fait cete modif mais j'ai le même message d'erreur

    Merci
    jmcm066

  8. #8
    J1
    J1 est déconnecté
    Membre averti Avatar de J1
    Inscrit en
    Mai 2004
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 321
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    n'aurais-tu pas nommé l'un de tes modules HEURE_AGENDA_A, par hasard ?

  9. #9
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Je n'ai que le module de ma macro convertie qui se nome "HEURE_AGENDA_A", je ne pense pas que cela pose un probléme;
    Kikof parle bien d'ouvrir le module de ma macro convertie

    jmcm066

  10. #10
    J1
    J1 est déconnecté
    Membre averti Avatar de J1
    Inscrit en
    Mai 2004
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 321
    Points : 335
    Points
    335
    Par défaut
    Citation Envoyé par jmcm066
    Je n'ai que le module de ma macro convertie qui se nome "HEURE_AGENDA_A", je ne pense pas que cela pose un probléme
    En l'occurrence, si. C'est ce qui fait que VBA interprète ton appel de procédure comme un "appel" de module.

  11. #11
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci mais je fais comment ?

    jmcm066

  12. #12
    J1
    J1 est déconnecté
    Membre averti Avatar de J1
    Inscrit en
    Mai 2004
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 321
    Points : 335
    Points
    335
    Par défaut
    Si tu veux absolument conserver tes noms de module et procédure tels quels, tu dois modifier ton appel de procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub HeureFinAgenda_Enter() 
    	HEURE_AGENDA_A 
    End Sub
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub HeureFinAgenda_Enter() 
    	HEURE_AGENDA_A.HEURE_AGENDA_A 
    End Sub
    Mais le plus simple reste quand même de renommer ton module (sauf si le fait qu'il s'appelle ainsi a une importance dans ton code).

  13. #13
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci J1 ça marche !
    1) J'ai change le nom de ma macro convertiepar "azerty", toujours le même message d'erreur
    2) J'ai remplacé par "azerty.azerty" et miracle ça marche un grand merci à toi J1

    jmcm066

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

Discussions similaires

  1. [AC-2007] Appel d'une macro 2007 dans une macro en VBA
    Par evema dans le forum IHM
    Réponses: 1
    Dernier message: 13/12/2011, 22h35
  2. utilisation d'une macro Excel dans une macro Word
    Par Tommy24 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/05/2011, 14h36
  3. Réponses: 8
    Dernier message: 26/03/2010, 08h16
  4. Réponses: 10
    Dernier message: 18/04/2007, 17h17
  5. Comment insérer une macro excel dans une macro word?
    Par max2245 dans le forum VBA Word
    Réponses: 15
    Dernier message: 07/01/2006, 17h44

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