Le 25/08/06, MORTEVEILLE Roselyne - DDE 44/GER/Voies Rapides < [EMAIL PROTECTED]> a écrit :
Hélas non il semble que les macros soient rattachées dans l'openoffice pour tous les modules et non pour un document ou une base. D'ailleurs depuis mon problème d'arrêt de ma base par Ctrl Alt Suppr - Gestionnaire des tâches et bien je ne peux plus visualiser mes macros dans openoffice alors que je les retrouve sur mon disque dans le répertoire Documents And Settings - Application Data - OpenOffice - user - Basic - elles ont toutes une extension .xba avec dans ce même dossier deux fichiers script.xlb et dialog.xlb. Je ne sais pas comment retrouver l'affichage dans openoffice. Je pense ou j'espère qu'il y a moyen de récupérer les macros mais aussi qu'il y a une possibilité de pouvoir les enregistrer dans son propre document ou sa base. En tout cas je n'ai pas trouvé de solution à mes deux problèmes. Si tu as une idée je suis preneuse.
bonjour, en ce qui concerne la récupération de tes macros perdues, je n'ai pas d'idée. Par contre, lorsque je travaille sur un formulaire intégré dans un document Base (donc inclus dans le fichier .odb), je peux tout à fait enregistrer la macro dans le formulaire : depuis le formulaire ouvert en mode édition : Outils > Macros > Gérer les macros > OpenOffice.org Basic j'ai bien : + Mes Macros + Macros OpenOffice.org + NomDuFichierDuFormulaire si j'édite une macro dans NomDuFichierDuFormulaire, elle est incluse dans le formulaire et donc est inscrite dans le fichier .odb. Par contre, il n'est pas possible de sauvegarder des macros au niveau du document .odb lui même. Ensuite, voici l'exemple de macro pour filtrer les données présentées dans un formulaire. 1 - créer un formulaire tout simple lié à la table que tu veux consulter (t_depverte) 2 - avec le navigateur de formulaire, note le nom du formulaire principal (par défaut, c'est MainForm, mais tu peux le renommer à ta guise, ne pas confondre avec le nom du fichier formulaire) 3 - en mode édition de formulaire, rajoute un champ texte et de même note son nom 4 - depuis la fenêtre du formulaire : Outils > Macros > Gérer les macros > OpenOffice.org Basic sélectionne le noeud qui porte le nom du fichier formulaire, puis Standard , puis nouveau, tu peux garder le nom par défaut :Module 1 5 - code de la macro : <code> Sub fabriqueFiltreFormulaire(oEvent As Object) Dim oDataForm As Object Dim strFiltre As String Dim strNomForm As String Dim strNomChamp As String strNomForm = "nomDuFormulaire" 'ici, mettre le nom du formulaire principal strNomChamp = "nomDuChamp" 'ici, mettre le nom du champ qui sert de critère de filtrage oDataForm = thiscomponent.drawpage.Forms.getByName(strNomForm) strFiltre = strNomChamp & " LIKE '" & oEvent.Source.Text & "%'" oDataForm.Filter = strFiltre oDataForm.reload End Sub </code> Attention, fait un copier coller ou soit très soigneuse, il y a parfois un guillemet simple suivi d'un guillemet double dans le code ci-dessus. 6 - sauvegarde de la macro 7 - en mode édition de formulaire, clic droit sur le champn de texte, onglet événements, assigner fabriqueFiltreFormulaire à l'événement Texte modifié 8 - sauver le formulaire, l'ouvrir en mode utilisation, le texte que tu rentre dans le champ sert à filter les enregistrements affichés (normalement) 9 - pour voir tous les enregistrements, effacer le texte présent dans le champ de filtrage. Bon courage. PS 1 : il faut mieux créer un nouveau fil pour chaque question PS 2 : un titre un peu plus significatif est utile pour ceux qui font des recherches dans les archives. Bonne journée
