ACCESS - question bête!
Fermé
lulu
-
9 févr. 2009 à 15:17
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 - 11 févr. 2009 à 15:26
Ludivine50 Messages postés 114 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 1 février 2016 - 11 févr. 2009 à 15:26
A voir également:
- ACCESS - question bête!
- Pense bete - Guide
- Access appdata - Guide
- Pense bête windows - Accueil - Applications & Logiciels
- Acer quick access ✓ - Forum Windows
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
10 réponses
Utilisateur anonyme
9 févr. 2009 à 18:52
9 févr. 2009 à 18:52
Bonjour,
De mémoire :
Sélectionner votre macro, clic droit, choisir [ Convertir la macro ... ]
Section Module, votre routine est la, vous n'avez qui y ajouté l'instruction souhaité.
Lupin
De mémoire :
Sélectionner votre macro, clic droit, choisir [ Convertir la macro ... ]
Section Module, votre routine est la, vous n'avez qui y ajouté l'instruction souhaité.
Lupin
Utilisateur anonyme
9 févr. 2009 à 19:13
9 févr. 2009 à 19:13
re:
Execute-il les autres instructions que tu avais dans la macro original ?
Si oui, a quel endroit as-tu placer le code de la fonction ?
Ici la Sub est déclaré en Private, donc elle doit être dans le même module
que la macro [ AUTOEXEC ].
Sinon, tu peux remplacer la déclaration par :
et faire ton appel : Call SUPP_MENU
Lupin
Execute-il les autres instructions que tu avais dans la macro original ?
Si oui, a quel endroit as-tu placer le code de la fonction ?
Private Sub SUPP_MENU() DoCmd.ShowToolbar "menu bar", acToolbarNo End Sub
Ici la Sub est déclaré en Private, donc elle doit être dans le même module
que la macro [ AUTOEXEC ].
Sinon, tu peux remplacer la déclaration par :
Public Sub SUPP_MENU() DoCmd.ShowToolbar "menu bar", acToolbarNo End Sub
et faire ton appel : Call SUPP_MENU
Lupin
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
10 févr. 2009 à 11:48
10 févr. 2009 à 11:48
Bonjour Lupin! Merci pour ta réponse rapide, je n'étais pas sur PC depuis.
Oui il exécute bien les autres instructions.
En fait, j'ai convertie la macro AUTOEXEC que j'avais créée sous ACCESS. Cela a créé un nouveau module.
J'ai modifié le contenu de ce module pour obtenir:
J'ai donc inséré ma nouvelle commande directement dans la macro.
Et là je viens de tester en utilisant un CALL SUPP_MENU:
Mais il n'exécute toujours pas SUPP_MENU. Il exécute toujours la macro définir dans ACCESS.
Oui il exécute bien les autres instructions.
En fait, j'ai convertie la macro AUTOEXEC que j'avais créée sous ACCESS. Cela a créé un nouveau module.
J'ai modifié le contenu de ce module pour obtenir:
Function AUTOEXEC() On Error GoTo AUTOEXEC_Err DoCmd.OpenForm "MENU_PRINCIPAL", acNormal, "", "", acReadOnly, acNormal DoCmd.Maximize DoCmd.ShowToolbar "menu bar", acToolbarNo AUTOEXEC_Exit: Exit Function AUTOEXEC_Err: MsgBox Error$ Resume AUTOEXEC_Exit End Function
J'ai donc inséré ma nouvelle commande directement dans la macro.
Et là je viens de tester en utilisant un CALL SUPP_MENU:
Function AUTOEXEC() On Error GoTo AUTOEXEC_Err DoCmd.OpenForm "MENU_PRINCIPAL", acNormal, "", "", acReadOnly, acNormal DoCmd.Maximize Call SUPP_MENU AUTOEXEC_Exit: Exit Function AUTOEXEC_Err: MsgBox Error$ Resume AUTOEXEC_Exit End Function Private Sub SUPP_MENU() DoCmd.ShowToolbar "menu bar", acToolbarNo End Sub
Mais il n'exécute toujours pas SUPP_MENU. Il exécute toujours la macro définir dans ACCESS.
Utilisateur anonyme
10 févr. 2009 à 13:27
10 févr. 2009 à 13:27
re:
Tu peux essayer de ces 2 façons :
ou
Ainsi, tu pourras valider l'exécution de la ligne :
DoCmd.ShowToolbar "menu bar", acToolbarNo
Peut-être, y a-t-il une erreur de syntaxe ???
Lupin
Tu peux essayer de ces 2 façons :
Function AUTOEXEC() On Error GoTo AUTOEXEC_Err DoCmd.OpenForm "MENU_PRINCIPAL", acNormal, "", "", acReadOnly, acNormal DoCmd.Maximize Call SUPP_MENU AUTOEXEC_Exit: Exit Function AUTOEXEC_Err: MsgBox Error$ Resume AUTOEXEC_Exit End Function Private Sub SUPP_MENU() MsgBox "Avant" DoCmd.ShowToolbar "menu bar", acToolbarNo MsgBox "Après" End Sub '
ou
Function AUTOEXEC() On Error GoTo AUTOEXEC_Err MsgBox "Avant" DoCmd.ShowToolbar "menu bar", acToolbarNo MsgBox "Après" DoCmd.OpenForm "MENU_PRINCIPAL", acNormal, "", "", acReadOnly, acNormal DoCmd.Maximize Call SUPP_MENU AUTOEXEC_Exit: Exit Function AUTOEXEC_Err: MsgBox Error$ Resume AUTOEXEC_Exit End Function '
Ainsi, tu pourras valider l'exécution de la ligne :
DoCmd.ShowToolbar "menu bar", acToolbarNo
Peut-être, y a-t-il une erreur de syntaxe ???
Lupin
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
10 févr. 2009 à 13:44
10 févr. 2009 à 13:44
ACCESS ne lit pas ma macro du tout en fait.
Par exemple, si je supprime la macro AUTOEXEC créée directement dans ACCESS, plus rien ne se passe.
Ce que j'ai mis en VB Access, il ne le lit pas.
Par exemple, si je supprime la macro AUTOEXEC créée directement dans ACCESS, plus rien ne se passe.
Ce que j'ai mis en VB Access, il ne le lit pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
10 févr. 2009 à 13:57
10 févr. 2009 à 13:57
re:
Bon, là c'est plus indicatif !
Dans un premier temps et ce de façon intuitive car je n'ai pas Access sous la main,
la procédure devrait être déclaré comme une procédure et non comme une fonction.
Function AUTOEXEC()
devrait plutôt su lire :
Sub AUTOEXEC()
mais, en regardant sur Google, j'ai cru comprendre qu'il faut dire au projet d'Access
de démerrer sur une procédure plutôt que sur un formulaire.
J'aurai accès à Access ce soir et je te dirai ce qu'il en est.
Lupin
Bon, là c'est plus indicatif !
Dans un premier temps et ce de façon intuitive car je n'ai pas Access sous la main,
la procédure devrait être déclaré comme une procédure et non comme une fonction.
Function AUTOEXEC()
devrait plutôt su lire :
Sub AUTOEXEC()
mais, en regardant sur Google, j'ai cru comprendre qu'il faut dire au projet d'Access
de démerrer sur une procédure plutôt que sur un formulaire.
J'aurai accès à Access ce soir et je te dirai ce qu'il en est.
Lupin
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
10 févr. 2009 à 15:28
10 févr. 2009 à 15:28
Merci pour ton aide.
Je vais attendre tes conseils de ce soir.
Bon après-midi
Je vais attendre tes conseils de ce soir.
Bon après-midi
Utilisateur anonyme
11 févr. 2009 à 06:12
11 févr. 2009 à 06:12
Bonsoir,
enfin pour moi, et je pourrais même dire bonne nuit (00:04) :-)
Terminant un cours sur vb.net, je regarde sous access ton dilème :-)
Dans mon premier message, je me suis gouré royalement, même dans
mon bouquin, je n'ai rien trouvé sur Auto_Open, le traditionnel
évènement sous Word et Excel et je ne l'avais jamais utiliser.
Et tu était dans le droit chemin en utilisant la macro AutoExec reconnu
dès l'ouverture de Access, alors voici ce qui me plait, j'aurai beaucoup
apprit avec toi !
C'est là toute ma récompense :-)
Première chose, au moment de rajouter la ligne de code dans la fonction,
tu étais dans l'éditeur VBA, à gauche tu devrais voir 2 zones, une en haut
[ Projet - NomDeTaTable ] et une en bas [ Propriétés - de l'objet pointé].
Donc, pointe le module qui devrait se nommer [ Macro convertie - Autoexec ]
et dans la zone du bas, dans la propriété [ Name ], inscrit Demarrage (sans accent).
Si j'étais toi, je changerais aussi le nom de la fonction, car selon ce que je vois dans le
code c'est une ouverture automatique d'un formulaire, j'appellerais cela [ AutoOpen ]
mais ce n'est que mon idée, libre à toi de conserver les noms en place.
J'ai donc fait comme toi en créant d'abord une macro que je nommé [ AutoExec ]
Je converti celle-ci en module avec le code, et j'obtiens le même résultat que toi, la
fonction ne s'exécute pas.
Maintenant ce qu'il te reste à faire, c'est de créer une nouvelle macro qui
s'intitule [ Exécuter code ], à ce stade dans le bas du panorama, tu as une zone
de texte nommé [ Nom fonction ] avec une objet (parcourir) au bout de la zone,
l'élément [...].
Une fenetre apparait avec dans une zone le mot [ Fonctions ] précédé d'un +,
clic sur ce +, et ensuite clic sur ta base et "non les [ Fonctions intégrées]".
Dans ta base tu découvrira le module qui devrait se nommer [ Demarrage ] ou
[ Macro convertie ... ] si tu n'as pas changer le nom, tu clic dessus,
et la tu trouveras la function créé, un dernier clic sur celle ci et elle apparait
dans la zone de formule, un clic sur OK et c'est terminé.
Ton code va s'exécuter. :-)
Lupin
enfin pour moi, et je pourrais même dire bonne nuit (00:04) :-)
Terminant un cours sur vb.net, je regarde sous access ton dilème :-)
Dans mon premier message, je me suis gouré royalement, même dans
mon bouquin, je n'ai rien trouvé sur Auto_Open, le traditionnel
évènement sous Word et Excel et je ne l'avais jamais utiliser.
Et tu était dans le droit chemin en utilisant la macro AutoExec reconnu
dès l'ouverture de Access, alors voici ce qui me plait, j'aurai beaucoup
apprit avec toi !
C'est là toute ma récompense :-)
Première chose, au moment de rajouter la ligne de code dans la fonction,
tu étais dans l'éditeur VBA, à gauche tu devrais voir 2 zones, une en haut
[ Projet - NomDeTaTable ] et une en bas [ Propriétés - de l'objet pointé].
Donc, pointe le module qui devrait se nommer [ Macro convertie - Autoexec ]
et dans la zone du bas, dans la propriété [ Name ], inscrit Demarrage (sans accent).
Si j'étais toi, je changerais aussi le nom de la fonction, car selon ce que je vois dans le
code c'est une ouverture automatique d'un formulaire, j'appellerais cela [ AutoOpen ]
mais ce n'est que mon idée, libre à toi de conserver les noms en place.
J'ai donc fait comme toi en créant d'abord une macro que je nommé [ AutoExec ]
Je converti celle-ci en module avec le code, et j'obtiens le même résultat que toi, la
fonction ne s'exécute pas.
Maintenant ce qu'il te reste à faire, c'est de créer une nouvelle macro qui
s'intitule [ Exécuter code ], à ce stade dans le bas du panorama, tu as une zone
de texte nommé [ Nom fonction ] avec une objet (parcourir) au bout de la zone,
l'élément [...].
Une fenetre apparait avec dans une zone le mot [ Fonctions ] précédé d'un +,
clic sur ce +, et ensuite clic sur ta base et "non les [ Fonctions intégrées]".
Dans ta base tu découvrira le module qui devrait se nommer [ Demarrage ] ou
[ Macro convertie ... ] si tu n'as pas changer le nom, tu clic dessus,
et la tu trouveras la function créé, un dernier clic sur celle ci et elle apparait
dans la zone de formule, un clic sur OK et c'est terminé.
Ton code va s'exécuter. :-)
Lupin
Utilisateur anonyme
11 févr. 2009 à 07:21
11 févr. 2009 à 07:21
re:
c'est la fonction testé:
Lupin
c'est la fonction testé:
Function AUTOEXEC() On Error GoTo AUTOEXEC_Err DoCmd.ShowToolbar "menu bar", acToolbarNo DoCmd.OpenForm "MENU_PRINCIPAL", acNormal, "", "", acReadOnly, acNormal DoCmd.Maximize Call SUPP_MENU AUTOEXEC_Exit: Exit Function AUTOEXEC_Err: MsgBox Error$ Resume AUTOEXEC_Exit End Function '
Lupin
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
11 févr. 2009 à 14:34
11 févr. 2009 à 14:34
Bonjour Lupin,
Merci pour tes explications très détaillées. Je suis contente que la résolution de ce problème t'apporte également un intérêt!
Malheureusement, j'ai suivi scrupuleusement toutes tes instructions, et j'ai toujours une barre d'outils qui traîne (Fichier/Edition/Insertion/Enregistrement/Fenêtre).
Quand j'exécute la macro SUPP_MENU, celle-ci se supprime bien. Mais elle ne se supprime toujours pas à l'ouverture du fichier. Je ne comprends pas. Ta procédure devrait parfaitement résoudre mon problème. Je dois avoir un truc qui ne colle pas.
Je me permets de t'envoyer ce que j'ai exactement, si tu pouvais chercher où est mon erreur?
Première chose, au moment de rajouter la ligne de code dans la fonction,
tu étais dans l'éditeur VBA, à gauche tu devrais voir 2 zones, une en haut
[ Projet - NomDeTaTable ] et une en bas [ Propriétés - de l'objet pointé].
Donc, pointe le module qui devrait se nommer [ Macro convertie - Autoexec ]
et dans la zone du bas, dans la propriété [ Name ], inscrit Demarrage (sans accent).
---> effectué
Si j'étais toi, je changerais aussi le nom de la fonction, car selon ce que je vois dans le
code c'est une ouverture automatique d'un formulaire, j'appellerais cela [ AutoOpen ]
mais ce n'est que mon idée, libre à toi de conserver les noms en place.
---> effectué. Voici mon nouveau code:
Pour SUPP_MENU, j'ai essayé avec private sub, public sub, dans un autre module.
J'ai donc fait comme toi en créant d'abord une macro que je nommé [ AutoExec ]
Je converti celle-ci en module avec le code, et j'obtiens le même résultat que toi, la
fonction ne s'exécute pas.
Maintenant ce qu'il te reste à faire, c'est de créer une nouvelle macro qui
s'intitule [ Exécuter code ], à ce stade dans le bas du panorama, tu as une zone
de texte nommé [ Nom fonction ] avec une objet (parcourir) au bout de la zone,
l'élément ..............et la tu trouveras la function créé, un dernier clic sur celle ci et elle apparait
dans la zone de formule, un clic sur OK et c'est terminé.
--> J'ai modifié la macro ACCESS AUTOEXEC et dedans j'ai mis "Exécuter code" et j'ai sélectionné la fonction "AUTO_OPEN" comme tu me l'as expliqué.
J'ai aussi essayé de créer une macro AUTOEXEC2 qui exécute la fonction AUTO_OPEN, et AUTOEXEC qui exécute la macro AUTOEXEC2.
Et à l'ouverture, il a tout d'abord une barre d'outils Fichier/Edition/Affichage/Insertion/Outil/Fenêtre/?.
Il ouvre le formulaire MENU_PRINCIPAL, il l'agrandit, et quand il exécute SUPP_MENU, une barre d'outil un peu différente apparaît: Fichier/Edition/Insertion/Enregistrement/Fenêtre/?. Alors je me suis dit que ma macro SUPP_MENU ne pointait pas sur cette barre d'outils là, malheureusement si. Si je force l'exécution de ma macro SUPP_MENU, la "seconde" barre d'outil d'efface bie !? !? !
Là, je suis un peu dépitée, j'ai essayé de torturer le tout dans tous les sens, mais rien n'y fait.
J'oublie forcément quelquechose, mais je n'arrive pas à mettre le doigt dessus.
Merci pour tes explications très détaillées. Je suis contente que la résolution de ce problème t'apporte également un intérêt!
Malheureusement, j'ai suivi scrupuleusement toutes tes instructions, et j'ai toujours une barre d'outils qui traîne (Fichier/Edition/Insertion/Enregistrement/Fenêtre).
Quand j'exécute la macro SUPP_MENU, celle-ci se supprime bien. Mais elle ne se supprime toujours pas à l'ouverture du fichier. Je ne comprends pas. Ta procédure devrait parfaitement résoudre mon problème. Je dois avoir un truc qui ne colle pas.
Je me permets de t'envoyer ce que j'ai exactement, si tu pouvais chercher où est mon erreur?
Première chose, au moment de rajouter la ligne de code dans la fonction,
tu étais dans l'éditeur VBA, à gauche tu devrais voir 2 zones, une en haut
[ Projet - NomDeTaTable ] et une en bas [ Propriétés - de l'objet pointé].
Donc, pointe le module qui devrait se nommer [ Macro convertie - Autoexec ]
et dans la zone du bas, dans la propriété [ Name ], inscrit Demarrage (sans accent).
---> effectué
Si j'étais toi, je changerais aussi le nom de la fonction, car selon ce que je vois dans le
code c'est une ouverture automatique d'un formulaire, j'appellerais cela [ AutoOpen ]
mais ce n'est que mon idée, libre à toi de conserver les noms en place.
---> effectué. Voici mon nouveau code:
Function AUTO_OPEN() On Error GoTo AUTO_OPEN_Err DoCmd.OpenForm "MENU_PRINCIPAL", acNormal, "", "", acReadOnly, acNormal DoCmd.Maximize Call SUPP_MENU AUTO_OPEN_Exit: Exit Function AUTO_OPEN_Err: MsgBox Error$ Resume AUTO_OPEN_Exit End Function Sub SUPP_MENU() DoCmd.ShowToolbar "menu bar", acToolbarNo End Sub
Pour SUPP_MENU, j'ai essayé avec private sub, public sub, dans un autre module.
J'ai donc fait comme toi en créant d'abord une macro que je nommé [ AutoExec ]
Je converti celle-ci en module avec le code, et j'obtiens le même résultat que toi, la
fonction ne s'exécute pas.
Maintenant ce qu'il te reste à faire, c'est de créer une nouvelle macro qui
s'intitule [ Exécuter code ], à ce stade dans le bas du panorama, tu as une zone
de texte nommé [ Nom fonction ] avec une objet (parcourir) au bout de la zone,
l'élément ..............et la tu trouveras la function créé, un dernier clic sur celle ci et elle apparait
dans la zone de formule, un clic sur OK et c'est terminé.
--> J'ai modifié la macro ACCESS AUTOEXEC et dedans j'ai mis "Exécuter code" et j'ai sélectionné la fonction "AUTO_OPEN" comme tu me l'as expliqué.
J'ai aussi essayé de créer une macro AUTOEXEC2 qui exécute la fonction AUTO_OPEN, et AUTOEXEC qui exécute la macro AUTOEXEC2.
Et à l'ouverture, il a tout d'abord une barre d'outils Fichier/Edition/Affichage/Insertion/Outil/Fenêtre/?.
Il ouvre le formulaire MENU_PRINCIPAL, il l'agrandit, et quand il exécute SUPP_MENU, une barre d'outil un peu différente apparaît: Fichier/Edition/Insertion/Enregistrement/Fenêtre/?. Alors je me suis dit que ma macro SUPP_MENU ne pointait pas sur cette barre d'outils là, malheureusement si. Si je force l'exécution de ma macro SUPP_MENU, la "seconde" barre d'outil d'efface bie !? !? !
Là, je suis un peu dépitée, j'ai essayé de torturer le tout dans tous les sens, mais rien n'y fait.
J'oublie forcément quelquechose, mais je n'arrive pas à mettre le doigt dessus.
Ludivine50
Messages postés
114
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
1 février 2016
7
11 févr. 2009 à 15:26
11 févr. 2009 à 15:26
Problème résolu (mais en recherche d'une meilleure solution)!
Dans Outils/Démarrage, j'avais décoché toutes les options.
Or par hasard, j'ai découvert que si la case "Afficher les barres d'outils intégrées" est décochée, ACCESS n' exécute pas ma macro SUPP_MENU. Pourquoi comment, je ne comprends pas trop, car je ne vois même pas le rapport.
Donc il faut que je la coche. Certes dans ce cas, je n'ai plus ma barre d'outil "Fichier/Edition...", mais j'en ai deux autres que je ne vois pas si "Afficher les barres d'outils intégrées" est décochée: les barres d'outil "Mise en forme" et "Formulaire". Du coup, il faut maintenant que je trouve le code pour désafficher ces nouvelles barres d'outils!!!
Aaaarggh!!! comme dirait Garfield!
J'ai aussi découvert qu'on peut personnaliser la barre d'outil et autoriser ou non le masquage des barres: Affichage / Barre d'outil / personnaliser.
J'explique comment je m'en suis sortie, ça aiderait peut-être d'autres personnes:
1) j'ai coché la case "Afficher les barres d'outils intégrées".
2) j'ai autorisé le masquage de toutes les barres d'outil
3) J'ai ouvert ACCESS en mode modification, j'ai ouvert un formulaire pour lequel il affichait les deux barres d'outils "Mise en forme" et "Formulaire".
4) Dans Affichage / Barres d'outils, je décoche ces deux barres d'outils.
5) A la prochaine ouverture du fichier, toutes les barres ont disparues.
Bon ça c'est déjà bien, ça m'enlève une épine du pied. Je te remercies pour ton aide Lupin, sans toi je n'y serais jamais arrivée!
Néanmoins, si la solution fonctionne, la méthode est tout de même pitoyable. Déjà parce que je ne comprends pas le comportement d'Access dans la gestion de ses barres de menus, et d'autre part parce que mon appli va être mise à dispo par le biais de Citrix. Or pour chaque utilisateur un par un, il faut:
1) changer les options définies dans Outils/Démarrage et désactiver dans VB le code qui masque le barre d'outil "Barres de menus"
2) il faut lancer l'appli via Citrix avec les identifiants de l'utilisateur
3) il faut aller dans la barre d'outil "Barre Menus"/ Affichage / Barre d'outil et décocher les barres d'outils qui traînent.
4) il faut fermer l'appli et enregistrer
5) remettre comme il faut les options définies dans l'appli / Outils/Démarrage et REactiver dans VB le code qui masque la barre.
A la prochaine ouverture de cet utilisateur, c'est bon...
Déjà je vais me faire un cahier de procédure rien que pour faire tout ça, parce que si dans 3 mois, j'ai un nouvel utilisateur, j'aurais du mal à lui fournir l'appli comme il faut!
Voilà, j'espère que toutes mes explications pourront servir au prochain.
En attendant, si quelqu'un a une meilleure méthode, qu'il n'hésite pas à nous la faire partager!
Je passe le sujet en résolu, mais il peut-être amélioré je pense.
Bonne journée au forum, et merci encore Lupin!
Dans Outils/Démarrage, j'avais décoché toutes les options.
Or par hasard, j'ai découvert que si la case "Afficher les barres d'outils intégrées" est décochée, ACCESS n' exécute pas ma macro SUPP_MENU. Pourquoi comment, je ne comprends pas trop, car je ne vois même pas le rapport.
Donc il faut que je la coche. Certes dans ce cas, je n'ai plus ma barre d'outil "Fichier/Edition...", mais j'en ai deux autres que je ne vois pas si "Afficher les barres d'outils intégrées" est décochée: les barres d'outil "Mise en forme" et "Formulaire". Du coup, il faut maintenant que je trouve le code pour désafficher ces nouvelles barres d'outils!!!
Aaaarggh!!! comme dirait Garfield!
J'ai aussi découvert qu'on peut personnaliser la barre d'outil et autoriser ou non le masquage des barres: Affichage / Barre d'outil / personnaliser.
J'explique comment je m'en suis sortie, ça aiderait peut-être d'autres personnes:
1) j'ai coché la case "Afficher les barres d'outils intégrées".
2) j'ai autorisé le masquage de toutes les barres d'outil
3) J'ai ouvert ACCESS en mode modification, j'ai ouvert un formulaire pour lequel il affichait les deux barres d'outils "Mise en forme" et "Formulaire".
4) Dans Affichage / Barres d'outils, je décoche ces deux barres d'outils.
5) A la prochaine ouverture du fichier, toutes les barres ont disparues.
Bon ça c'est déjà bien, ça m'enlève une épine du pied. Je te remercies pour ton aide Lupin, sans toi je n'y serais jamais arrivée!
Néanmoins, si la solution fonctionne, la méthode est tout de même pitoyable. Déjà parce que je ne comprends pas le comportement d'Access dans la gestion de ses barres de menus, et d'autre part parce que mon appli va être mise à dispo par le biais de Citrix. Or pour chaque utilisateur un par un, il faut:
1) changer les options définies dans Outils/Démarrage et désactiver dans VB le code qui masque le barre d'outil "Barres de menus"
2) il faut lancer l'appli via Citrix avec les identifiants de l'utilisateur
3) il faut aller dans la barre d'outil "Barre Menus"/ Affichage / Barre d'outil et décocher les barres d'outils qui traînent.
4) il faut fermer l'appli et enregistrer
5) remettre comme il faut les options définies dans l'appli / Outils/Démarrage et REactiver dans VB le code qui masque la barre.
A la prochaine ouverture de cet utilisateur, c'est bon...
Déjà je vais me faire un cahier de procédure rien que pour faire tout ça, parce que si dans 3 mois, j'ai un nouvel utilisateur, j'aurais du mal à lui fournir l'appli comme il faut!
Voilà, j'espère que toutes mes explications pourront servir au prochain.
En attendant, si quelqu'un a une meilleure méthode, qu'il n'hésite pas à nous la faire partager!
Je passe le sujet en résolu, mais il peut-être amélioré je pense.
Bonne journée au forum, et merci encore Lupin!
9 févr. 2009 à 19:04
J'ai convertit la macro en Visual Basic, et effectivement j'y trouve bien les instructions du AUTOEXEC.
Mais quand je rajoute ma ligne de commande, il ne l'exécute pas lors de la réouverture du fichier, pourtant, si je l'exécute à part elle fonctionne correctement. C'est comme s'il ne tenait pas compte des instructions VB.
Peux-tu me donner un indice?