|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2005 Messages : 80 ![]() |
Bonjour tous!
Voilà j'ai eu droit à un bizarre vidage de tous mes codes vba, ce qui fait que maintenant je dois tout remettre en ordre, pour mes boutons. Je l'ai fait mais le problème c'est que je doive faire ca pour chaque formulaire. Il y a bien un code général mais également des codes qui se trouvent un peu partout Je fais régulièrement des backups de ma base. Y a t'il un moyen rapide pour dire "je veux copier tous les codes vba de telle base à telle base (sans rien copier d'autre, ni les tables, ni les formulaires, etc... ? J'ai bien essayé la fonction Exporter du menu fichier mais à l'importation il me dit que ce n'est pas possible. Du coup en attendant je vais faire du copier/coller manuellement pour tous les boutons, mais j'aimerais bien que si cela m'arrive encore je puisse trouver une solution plus rapide, car tout remettre en ordre prend du temps Merci à vous pour votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 479 ![]() |
Qu'appèles-tu 'remettre en ordre' ?
Tes fonctions et procédures se sont déplacées dans les modules qui les contiennent ? Regarde les MZ-Tools. Je ne sais pas s'ils marchent pour 2010 mais grâce à eux, il est possible de déplacer ou trier des procédures dans un module. Un bon outils aussi est Smart Identer, génial pour rendre le code plus lisible dans une appli où l'indentation est toute croche. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : février 2008 Messages : 54 ![]() |
Bonjour,
J'ai exactement le même problème. J'ai le message suivant : "le nom du module est mal orthographié ou fait référence à un module qui n'existe pas". Quelqu'un d'autre a-t-il déjà eu le même problème ? Merci d'avance |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2005 Messages : 80 ![]() |
Je crois que j'ai eu aussi ce message, mais c'est parce que le code lié au clic du bouton avait disparu des modules. Je ne sais pas du tout comment ca se fait que tout mon code VBA associé à des boutons (procédure d'événements) a disparu. J'ai mis 1h30 à tout remettre en ordre. Je suis pas encore à l'aise avec la version 2010 mais je me souviens qu'avec Access 97 on pouvait voir les modules dans le panneau module. Ce serait tellement simple si je pouvais copier coller ce genre de contenu entre 2 bases de données, pour le cas où le "vidage VBA" inexpliqué se reproduise à nouveau.
Je me souviens juste que mon collègue m'avait interpellé car il n'arrivait pas à ouvrir la BD, car il y avait un message d'erreur lié au VBA (me demandez pas l'entièreté du message, je sais plus). Mais du reste, si on sait copier des tables, des requêtes, des formulaires ou des états d'une BD à une autre, je n'ai pas encore réussi à copier TOUT le code des modules d'une BD à l'autre, vu que je me suis rendu compte que le VBA "partitionnait" les codes selon les formulaires, d'après ce que j'ai compris. D'où m'a question de savoir si on pouvait copier tout facilement, histoire que je doive pas 36 fois faire un copier coller du code dans tel ou tel bouton auquel un événement est associé :p |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : février 2008 Messages : 54 ![]() |
Bonjour,
Dans un autre post, quelqu'un m'a proposé une solution. http://www.developpez.net/forums/d96...ition-modules/ Malheureusement, dans mon cas, elle n'a pas fonctionné. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
salut ZoliveR, marot_r
ZoliveR, chaque formulaire peuvent avoir un module associé (propriété/autre/avec module) où se trouve l'ensemble des codes événementiels. il n'est pas besoin de faire l'association événement/code via la feuille de propriété (si je ne me trompe cela remonte à de très vieille version cette obligation). le respect des règles de nommage des fonctions dans le module suffit au formulaire, dont le module lui est associé, à retrouver les événements associés aux contrôles. il n'est donc pas utile de faire des copies/coller pour chaque code de tes boutons. le copie/coller de l'intégralité module où est contenu le code vers le nouveau est suffisant. Martin_77, je n'ai pas eu ce genre de pb mais si tu accèdes bien au contenu du module je préconise, peut être par excès de prudence, de faire un copie/coller du module via le bloc note. si tu n'accèdes pas au code du module et que la réparation ne fonctionne pas, fait comme moi : trouve de belles injures et fait toi plaisir... |
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : février 2008 Messages : 54 ![]() |
Bonjour vodiem,
Le problème est qu'il est impossible d'accéder au code de chaque formulaire. Heureusement, ma dernière sauvegarde datait de 3 heures. Bien cordialement |
|
|
00
|
|
|
#8 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : août 2005 Messages : 80 ![]() |
Y a t'il un moyen de copier coller tous les codes, d'une BD à une autre, sans devoir le faire pour chaque formulaire, voilà ma question
Je me suis aperçu que je n'avais pas tout copié, car quand j'en avais fini par un formulaire, dans un autre formulaire le bouton ne fonctionnait pas, je devais donc ouvrir pour copier coller le code pour chaque formulaire... En fait j'ai essentiellement un seul et même code pour pas mal de formulaires, c'est un code qui permet d'activer la modification de ceux-ci (par défaut il est juste consultable, avec le clic du bouton je permets à l'utilisateur de faire des modifications. Ceci afin qu'il n'y ait pas de modifications malencontreuses Edit: pour satisfaire votre curiosité, voilà le code que j'ai employé Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé
![]() Diem VOVivre Inscription : avril 2006 Messages : 2 644 ![]() |
normalement quand tu importes un formulaire tu importes aussi son module.
tu pourrais dupliquer l'ensemble des codes via les objets: Code :
|
||
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : août 2005 Messages : 80 ![]() |
Je ne sais pas vraiment comment faire des fonctions globales. J'ai fait du copier coller de boutons mais à chaque fois je dois mettre un code pour chaque bouton et ca se fait pour chaque formulaire
Je suis un peu nouveau dans Access, j'ai déjà fait de nets et fulgurants progrès mais je n'ai pas la science infuse |
|
|
00
|
|
|
#11 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 479 ![]() |
Pour faire une fonction ou une procédure globale c'est très simple.
Crée un nouveau module ou utlise un module existant puis tu écrit quelque chose comme : Code :
public function NomTaFunction() as .... Le mot public rend la fonction visible à l'extérieur du module. Pour l'utiliser tu as juste à l'appleler : Code :
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com