tache planifiee + macro

Le
pascallerudulier
Bonsoir,

J'ai lu quelques messages concernant le sujet en titre mais
n'arrive pas a faire executer une macro. Ou est-ce que ca peut bien
pecher?

"chemin_accessMsAccess.exe" "cheminBaseNomBase.mdb" /x NomDeTaMacro

Lorsque j'execute la macro* depuis la base de donnees meme, la
fenetre s'ouvre bien mais s'arrete a l'etape d'apres: le nom (que je
mets en lieu et place du 'NomdeTaMacro') donne, command0_click(),
n'est pas reconnu.

J'imagine que je brule mais suis a court d'idees; quelqu'un peut
m'aiguiller sur la piste?

D'avance merci

Pascal

*:
1 - ouverture d'une formulaire
2 - clic sur un bouton => private sub command0_click()
3 - etc.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #22179741
Salut,

wrote:
Bonsoir,

J'ai lu quelques messages concernant le sujet en titre mais
n'arrive pas a faire executer une macro. Ou est-ce que ca peut bien
pecher?

"chemin_accessMsAccess.exe" "cheminBaseNomBase.mdb" /x NomDeTaMacro

Lorsque j'execute la macro* depuis la base de donnees meme, la
fenetre s'ouvre bien mais s'arrete a l'etape d'apres: le nom (que je
mets en lieu et place du 'NomdeTaMacro') donne, command0_click(),
n'est pas reconnu.




Oui... mais non :o))

Dans Access, une "macro" n'est pas du code VBA comme dans Excel,
mais une macro "commande" !
Oui, je sais, MS est fortiche pour brouiller les pistes :-(

Une macro se crée dans l'onglet "Macro" pour les versions <2007
Pour 2007+ tu passes par Créer, Macro


J'imagine que je brule mais suis a court d'idees; quelqu'un peut
m'aiguiller sur la piste?
1 - ouverture d'une formulaire
2 - clic sur un bouton => private sub command0_click()
3 - etc.




Ce n'est pas une "Sub" ni même le nom d'une fonction qu'il faut
renseigner, mais bien le nom d'une macro.

Ceci dit, pourquoi veux tu démarrer ta base en exécutant une
Sub qui se trouve dans un formulaire ???
Que peut bien faire cette sub pour être lancée au démarrage ?

En fait, il existe plusieurs façon d'exécuter du code à l'ouverture
d'une base Access...

- Soit en créant une macro nommée "autoexec" qui à la particularité
de s'exécuter automatiquement à l'ouverture de la base.

- Renseigner le nom d'un formulaire dans les propriétés de la base...

avant Access 2007:
voir menu Outils, Démarrage, Afficher formulaire/page

a partir d'Access 2007:
bouton office, Option Access, Base de données active, afficher le formulaire

- Dans le raccourci, avec l'option /X
dans ce cas, on appelle une macro qui vas faire l'appel souhaité.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
pascallerudulier
Le #22179781
Merci Pierre pour ces infos,

On 28 mai, 03:18, "3stone"
Salut,

wrote:
> Bonsoir,

>     J'ai lu quelques messages concernant le sujet en titre mais
> n'arrive pas a faire executer une macro. Ou est-ce que ca peut bien
> pecher?

> "chemin_accessMsAccess.exe" "cheminBaseNomBase.mdb"  /x NomDeTaMacr o

>    Lorsque j'execute la macro* depuis la base de donnees meme, la
> fenetre s'ouvre bien mais s'arrete a l'etape d'apres: le nom (que je
> mets en lieu et place du 'NomdeTaMacro') donne, command0_click(),
> n'est pas reconnu.

Oui... mais non  :o))

Dans Access, une "macro" n'est pas du code VBA comme dans Excel,
mais une macro "commande" !
Oui, je sais, MS est fortiche pour brouiller les pistes :-(

Une macro se crée dans l'onglet "Macro" pour les versions <2007
Pour 2007+ tu passes par Créer, Macro

>     J'imagine que je brule mais suis a court d'idees; quelqu'un peu t
> m'aiguiller sur la piste?
> 1 - ouverture d'une formulaire
> 2 - clic sur un bouton  => private sub command0_click()
> 3 - etc.

Ce n'est pas une "Sub" ni même le nom d'une fonction qu'il faut
renseigner, mais bien le nom d'une macro.




La macro que j'appelle par les taches planifiees ouvre la fenetre dans
laquelle se trouve un bouton qui lui lorsqu'il est clique declenche
une macro VBA. Ca ressemble bien effectivement a une macro commande
mais il faudra bien a un moment appeler une ligne VBA quelconque non?



Ceci dit, pourquoi veux tu démarrer ta base en exécutant une
Sub qui se trouve dans un formulaire ???
Que peut bien faire cette sub pour être lancée au démarrage ?





En fait cette fenetre contient un bouton plus une fenetre qui montre
la date la plus recente a laquelle un dossier, contenant des milliers
de fichiers, a ete parcouru et une liste etablie. Au tout debut avec
quelques dizaines de fichiers chacun pouvait le faire rapidement en
cliquant le bouton, puis c'est devenu de plus en plus long (d'ou,
d'ailleurs, la fenetre, de facon a ne pas rafraichir la liste si
qu'elqu'un autre l'avait deja fait recemment).
J'aimerais lancer cette tache a un moment ou la base n'est pas
utilisee.

En fait, il existe plusieurs façon d'exécuter du code à l'ouverture
d'une base Access...

- Soit en créant une macro nommée "autoexec" qui à la particularit é
  de s'exécuter automatiquement à l'ouverture de la base.



Pour les raisons detaillees plus haut ce n'est pas une solution que je
souhaite retenir. Cela penaliserait chacun a chaque ouverture.


- Renseigner le nom d'un formulaire dans les propriétés de la base...

  avant Access 2007:
 voir menu Outils, Démarrage, Afficher formulaire/page

  a partir d'Access 2007:
  bouton office, Option Access, Base de données active, afficher le f ormulaire

- Dans le raccourci, avec l'option /X
  dans ce cas, on appelle une macro qui vas faire l'appel souhaité.

--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)
3stone
Le #22182241
Salut,

wrote:
Merci Pierre pour ces infos,

wrote:
J'ai lu quelques messages concernant le sujet en titre mais
n'arrive pas a faire executer une macro. Ou est-ce que ca peut bien
pecher?



"chemin_accessMsAccess.exe" "cheminBaseNomBase.mdb" /x
NomDeTaMacro



Lorsque j'execute la macro* depuis la base de donnees meme, la
fenetre s'ouvre bien mais s'arrete a l'etape d'apres: le nom (que je
mets en lieu et place du 'NomdeTaMacro') donne, command0_click(),
n'est pas reconnu.



Oui... mais non :o))

Dans Access, une "macro" n'est pas du code VBA comme dans Excel,
mais une macro "commande" !
Oui, je sais, MS est fortiche pour brouiller les pistes :-(

Une macro se crée dans l'onglet "Macro" pour les versions <2007
Pour 2007+ tu passes par Créer, Macro

J'imagine que je brule mais suis a court d'idees; quelqu'un peut
m'aiguiller sur la piste?
1 - ouverture d'une formulaire
2 - clic sur un bouton => private sub command0_click()
3 - etc.



Ce n'est pas une "Sub" ni même le nom d'une fonction qu'il faut
renseigner, mais bien le nom d'une macro.




La macro que j'appelle par les taches planifiees ouvre la fenetre dans
laquelle se trouve un bouton qui lui lorsqu'il est clique declenche
une macro VBA. Ca ressemble bien effectivement a une macro commande
mais il faudra bien a un moment appeler une ligne VBA quelconque non?





Dans ce cas, crée une macro d'un nom quelconque avec comme
seule macro-commande => ExécuterCode et tu renseignes le
nom de la fonction.
Bien sûr, cette fonction peut à son tour appeller n'importe quel code.




Ceci dit, pourquoi veux tu démarrer ta base en exécutant une
Sub qui se trouve dans un formulaire ???
Que peut bien faire cette sub pour être lancée au démarrage ?





En fait cette fenetre contient un bouton plus une fenetre qui montre
la date la plus recente a laquelle un dossier, contenant des milliers
de fichiers, a ete parcouru et une liste etablie. Au tout debut avec
quelques dizaines de fichiers chacun pouvait le faire rapidement en
cliquant le bouton, puis c'est devenu de plus en plus long (d'ou,
d'ailleurs, la fenetre, de facon a ne pas rafraichir la liste si
qu'elqu'un autre l'avait deja fait recemment).
J'aimerais lancer cette tache a un moment ou la base n'est pas
utilisee.




Il serait utilise de déplacer ce code dans un module général...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Publicité
Poster une réponse
Anonyme