Bonjour,
J'ai converti une macro en code, je voudrais pouvoir l'exécuter dans une procédure Sub
Merci
Bonjour,
J'ai converti une macro en code, je voudrais pouvoir l'exécuter dans une procédure Sub
Merci
Salut
2 solutions
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part Call NomProcédure
Code : Sélectionner tout - Visualiser dans une fenêtre à part Nomprocédure
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
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 Function NomMacro()
Ouvre ton formulaire Temp_Ag
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public Function NomMacro()
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
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"
Je ne voie pas ce qui cloche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub HeureFinAgenda_Enter() HEURE_AGENDA_A End Sub
Merci
Bonjour
Remplace Function par Sub
Starec
Bonjour,
J'ai bien fait cete modif mais j'ai le même message d'erreur
Merci
jmcm066
Bonjour,
n'aurais-tu pas nommé l'un de tes modules HEURE_AGENDA_A, par hasard ?
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
En l'occurrence, si. C'est ce qui fait que VBA interprète ton appel de procédure comme un "appel" de module.Envoyé par jmcm066
Bonjour,
Merci mais je fais comment ?
jmcm066
Si tu veux absolument conserver tes noms de module et procédure tels quels, tu dois modifier ton appel de procédure
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub HeureFinAgenda_Enter() 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).
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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager