[prog] Calc et DateField
Bonjour, une petite question : sur une feuille calc, j'ai mit un DateField, avec déroulante. Comment puis-je avoir le résultat dans une case de ma feuille. Merci d'avance et bonne soirée
Re: [prog] Fonction dans controle de formulaire
Bernard Marcelly a écrit Bonjour Arnaud POUSSIER Message du 2007-01-18 10:21: Bonjour à tous, Une petite question: Est-il possible de remplir une texbox par une fonction ( en l'occurence =AUJOURDHUI() ) en appelant celle-ci par une macro associé à un bouton ? On peut remplir le champ d'une TextBox avec n'importe quoi donnant une chaîne de caractères. Si le problème est : peut-on utiliser une fonction Calc ? Réponse oui, mais pas comme ça. Voir le livre, chapitre 12, section : Utiliser une fonction de Calc. Si le problème est : comment obtenir la date d'aujourd'hui ? La réponse en Basic est la fonction Now(). Bernard Bonjour Bernard et merci pour ces infos, J'avais déja consulté le livre pour l'utilisation des fonctions mais ce que je n'ai pas trouver, n'y parvenu à faire pour le moment c'est l'association avec un champ de formulaire. Arnaud - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Fermer connexion Obase
JMD Jean-Marc Delmas à écrit: [EMAIL PROTECTED] a écrit : Bonjour, J'ai lu avec attention le fil de discussion concernant fichier .lck aprés fermeture de Obase, car j'ai un soucis identique (que j'avais déjà exposé mais qui je crois nécéssite un nouveau fil de discusson pour une meilleure compréhension) J'ai utilisé la macro suivante pour ouvrir un formulaire depuis un autre (merci à Christine Brou): Sub OuvrirFormA() dim optFichier(2) as new com.sun.star.beans.PropertyValue monDoc = thisComponent lesForm = monDoc.Parent.FormDocuments monForm = lesForm.getByName(FORM_A) 'formulaire à ouvrir optFichier(0).Name = ActiveConnection optFichier(0).Value = monDoc.Parent.DataSource.getConnection(,) optFichier(1).Name = OpenMode optFichier(1).Value = open lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier()) monDoc = lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier() call FullOn(monDoc) 'macro qui met le formulaire form_A ouvert en mode plein écran End Sub donc la connexion est bien ouverte lorsque le formulaire form_A s'ouvre. Mon probléme est que la connexion reste ouverte lorsque je ferme le formulaire form_A. Comment puis-je donc fermer la connexion ? Cela doit-il intervenir dans la même macro qui ouvre le formulaire (si oui la connexion serat toujours active )ou lors de la fermeture de celui-ci ? Merci d'avance Arnaud POUSSIER Windows Xp Pro - OpenOffice V2.0.2 et meilleurs voeux à toute la liste Une indication qui n'est peut-être pas inutile. Il n'est pas nécessaire d'établir une nouvelle connexion à la base quand on ouvre un autre formulaire à partir d'un formulaire principal. Pour ma part j'utilise la même connexion et je laisse le soin à open office de la terminer quand je quitte le formulaire principal. le code se présente ainsi : oDocinit = ThisComponent 'Le document writer qui contient le formulaire principal DB_URL = oDocInit.Parent.URL 'l'URL de la base, d'où parent oDBForms = oDocInit.Parent.getFormDocuments'Les documents writer internes où sont les formulaires oFormCont = oDBForms.getByName(Contacts) 'Celui du formulaire principal oPageInit = oDocInit.DrawPage 'La page où est le form principal oInitForm = oPageInit.Forms.getByName(MainForm) 'Le formulaire principal oConnect = oInitForm.ActiveConnection'Son objet connexion Args(0).Name = OpenMode Args(0).Value = open Args(1).Name = ActiveConnection Args(1).Value =oConnect 'Sa réutilisation sFormTit = Adresses'Autre document à charger pour accéder à un autre formulaire oDocTit = oDBForms.LoadComponentFromURL(sFormTit, _blank, 0 , Args()) 'Le document est chargé avec partage de la connexion Plus besoin de fermer une connexion en sortant du formulaire secondaire puisqu'on l'utilise toujours dans le formulaire principal. De plus c'est la connexion établie à l'ouverture du document base. Elle se ferme proprement dès que l'on quitte le document ouvert dans OO. Espérant avoir aidé Jean-Marc Bonjour, Merci tout d'abord de t'être penché sur mon probléme. J'ai testé ton code et cela ne marche pas. Il y a deux fois mentionnés formulaire principal et j'ai une erreur sur le second appel. Pour être plus explicite mon fichier base est comme cela: 1 fichier base = test.odb, dans lequel on trouve 5 formulaires = FormA, puis 4 autres secondaires appellés depuis le premier. Chaque formulaire secondaire dépend d'un table. Tout mes formulaires sont dans mon document base. Bonne soirée - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] [Base] Probléme assignation de macro
Christine a écrit: Bonjour, J'ignore comment est faite ta macro de plein écran, mais tu récupères ton formulaire par: monDoc = lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier()) dans la macro d'ouverture du formulaire et tu appliques ta macro plein écran sur monDoc Christine Bonjour et merci de d'être penché sur mon probléme. J'ai refait la macro comme ceci: Sub OuvrirFormulaire() dim optFichier(2) as new com.sun.star.beans.PropertyValue monDoc = thisComponent lesForm = monDoc.Parent.FormDocuments monForm = lesForm.getByName(NomFormulaire) optFichier(0).Name = ActiveConnection optFichier(0).Value = monDoc.Parent.DataSource.getConnection(,) optFichier(1).Name = OpenMode optFichier(1).Value = open lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier()) monDoc = lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier() Call FullOn 'nom de la macro plein écran End Sub Mais apparement cela ne marche pas au niveau de l'appel de la macro Si quelqu'un à une idée je suis preneur Bonne journée à tous Arnaud POUSSIER - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] [Base] Probléme assignation de macro
Bonjour, J'ai essayé de modifier le code de ma macro mais je dois dire que je m'embrouille un peu. Donc voilà le code la macro FullOn (faite avec l'enregistreur de macro), sub FullOn rem -- rem define variables dim document as object dim dispatcher as object rem -- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) rem -- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = FullScreen args1(0).Value = true dispatcher.executeDispatch(document, .uno:FullScreen, , 0, args1()) end sub Merci d'avance si quelqu'un peut y jeter un coup d'oeil Arnaud POUSSIER Alain Nowak a écrit : Bonjour, Ta macro faite avec l'enregistreur travaille certainement sur 'ThisComponent', et là tu charge ton formulaire par un loadComponentFromURL. Donc il faut modifier FullOn, soit adapter le code de l'enregistreur pour travailler sur ton document (mondoc), soit la réécrire sans l'enregistreur. Arnaud POUSSIER a écrit : Christine a écrit: Bonjour, J'ignore comment est faite ta macro de plein écran, mais tu récupères ton formulaire par: monDoc = lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier()) dans la macro d'ouverture du formulaire et tu appliques ta macro plein écran sur monDoc Christine Bonjour et merci de d'être penché sur mon probléme. J'ai refait la macro comme ceci: Sub OuvrirFormulaire() dim optFichier(2) as new com.sun.star.beans.PropertyValue monDoc = thisComponent lesForm = monDoc.Parent.FormDocuments monForm = lesForm.getByName(NomFormulaire) optFichier(0).Name = ActiveConnection optFichier(0).Value = monDoc.Parent.DataSource.getConnection(,) optFichier(1).Name = OpenMode optFichier(1).Value = open lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier()) monDoc = lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier() Call FullOn 'nom de la macro plein écran End Sub Mais apparement cela ne marche pas au niveau de l'appel de la macro Si quelqu'un à une idée je suis preneur Bonne journée à tous Arnaud POUSSIER - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Alain Nowak - StarXpert 6, rue Eugène Varlin - 75010 Paris Tel : 08 77 67 59 71 / 06 07 95 61 99 http://www.starxpert.fr - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] [Base] Probléme assignation de macro
Bonjour, et merci de ton aide Cependant j'ai un soucis au niveau de l'appel de la macro, j'ai le message d'erreur suivant: Runtime error Basic La sous procédure ou procédure fonctionnelle n'est pas définie En espérant ne pas être trop lourd je remets les deux macro en cause: Macro sur le premier formulaire: Sub OuvrirFormulaire() dim optFichier(2) as new com.sun.star.beans.PropertyValue monDoc = thisComponent lesForm = monDoc.Parent.FormDocuments monForm = lesForm.getByName(Monformulaire) optFichier(0).Name = ActiveConnection optFichier(0).Value = monDoc.Parent.DataSource.getConnection(,) optFichier(1).Name = OpenMode optFichier(1).Value = open lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier()) monDoc = lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier() call FullOn(monDoc) End Sub Macro sur le second formulaire pour le plein écran: sub FullOn (leDoc) rem -- rem define variables dim document as object dim dispatcher as object rem -- rem get access to the document document = ThisComponent.CurrentController.Frame document = leDoc.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) rem -- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = FullScreen args1(0).Value = true dispatcher.executeDispatch(document, .uno:FullScreen, , 0, args1()) end sub Laurent Godard a écrit: Bonjour changement mineurs à faire sub FullOn sub FullOn (leDoc) rem -- rem define variables dim document as object dim dispatcher as object rem -- rem get access to the document document = ThisComponent.CurrentController.Frame document = leDoc.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) rem -- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = FullScreen args1(0).Value = true dispatcher.executeDispatch(document, .uno:FullScreen, , 0, args1()) end sub il te rest ensuite a changer l'appel de FullOn avec call FullOn(monDoc) Laurent - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] [Base] Probléme assignation de macro
Super, Extra ça marche Un grand merci à toi Bonne soirée et bon week end Arnaud POUSSIER Christine Brou a écrit: Macro sur le second formulaire pour le plein écran: ça c'est pas bon du tout ... les 2 macros doivent être sur le formulaire qui appelle ! Christine - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] [Base] Probléme assignation de macro
Bonsoir à tous, je tenais à adresser un grand merci à tout ceux qui m'mont consacrer du temps ces derniers jours et leur faire part d'une découverte que je viens de faire par hasard. Au départ mon soucis venait du fait que dans base l'assignation d'une macro à l'ouverture de document s'applique automatiquement à toute ouverture de document (à chaque formulaire). Explication: J'assigne une macro à l'ouverture du formulaire A. Lorsque j'ouvre le formulaire B il cherche cette macro, qu'il ne trouve pas d'où message d'erreur. Ma découverte: Dans les propriétés de formulaire, j'ai assigné ma macro à l'option chargement du formulaire et donc à l'ouverture du formulaire la macro est aussitôt appliqué. Bon week end à tous - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Fermer un formulaire
[EMAIL PROTECTED] a écrit : Bonsoir je viens de faire un test avec la macro fermeture et j'ai un probléme avec cette ligne oDocForms = oDoc.getFormDocuments() run time error basic propriété ou méthode introuvable Dans mon précédent message il y avait ce commentaire : Un détail qui a son importance : J'utilise StarDesktop et pas ThisComponent. Dans ce cas, tu ne peux pas tester pas à pas dans l'éditeur de macros. Il n'y a pas d'autre solution pour tester que de tenter la fermeture du formulaire en lançant la macro Fermeture. Je m'aperçois que cet avertissement n'était pas assez Le message que tu as eu, apparaît systématiquement quand la macro est lancée à partir de l'éditeur de script OOBasic, voire quand il est simplement ouvert. Pour que cela fonctionne il faut que oDoc ait pour URL le fichier ...\TaBase.odb. Tous les tests pas à pas donnent pour oDoc, soit l'IDE c'est à dire l'éditeur de macros, soit le formulaire contenu dans TaBase.odb ce qui ne convient également pas. Je n'ai trouvé qu'un moyen de vérification : Pour vérifier le bon fonctionnement, je pars d'une base * fermée*, voire d'openoffice fermé puis j'ouvre le fichier TaBase.odb, je double-clique sur mon formulaire qui s'ouvre alors. *Note qu'il n'est alors pas en mode modification. * A partir de là, seulement, je lance la macro de fermeture par outils, Macros, Exécuter, ou bien j'actionne le bouton auquel la macro est associée . Le message n'apparaît alors pas et le formulaire se ferme. */Mais il ne faut pas ouvrir l'IDE de programmation/*. J'ai été contraint d'utiliser StarDesktop car quand le formulaire est ouvert ThisComponent pointe sur le formulaire ouvert et pas sur le fichier ..\TaBase.odb, ce qui ne fonctionne alors pas. L'envers de la médaille est que StarDeskTop pointe sur le dernier document OpenOffice ouvert. Pour être sûr de ne pas perturber le fonctionnement de la macro, il est donc plus sûr de ne rien ouvrir d'autre que la base et le formulaire. Maintenant, si tu trouves que la procédure que je te propose n'est pas assez sûre, tu peux aussi la blinder de la manière suivante : Sub Fermeture2 Dim oDoc As Object, oFormClo As Object, oDocForms As Object Dim oDocs As Object, sForm As String oDocs = StarDeskTop.getComponents.createEnumeration Do While oDocs.hasmoreElements oDoc = oDocs.NextElement If Instr(oDoc.URL, Base.odb) 0 Then Exit Do Loop oDocForms = oDoc.getFormDocuments() sForm = Travail oFormClo = oDocForms.getByName(sForm) oFormClo.dispose End Sub Tu vas y arriver. Il y a toujours une solution. Jean-Marc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Fermer un formulaire
[EMAIL PROTECTED] a écrit : Bonsoir je viens de faire un test avec la macro fermeture et j'ai un probléme avec cette ligne oDocForms = oDoc.getFormDocuments() run time error basic propriété ou méthode introuvable Jean-Marc à écrit Dans mon précédent message il y avait ce commentaire : Un détail qui a son importance : J'utilise StarDesktop et pas ThisComponent. Dans ce cas, tu ne peux pas tester pas à pas dans l'éditeur de macros. Il n'y a pas d'autre solution pour tester que de tenter la fermeture du formulaire en lançant la macro Fermeture. Je m'aperçois que cet avertissement n'était pas assez explicite. Excuse m'en, s'il te plaît. Le message que tu as eu, apparaît systématiquement quand la macro est lancée à partir de l'éditeur de script OOBasic, voire quand il est simplement ouvert. Pour que cela fonctionne il faut que oDoc ait pour URL e fichier ...\TaBase.odb. Tous les tests pas à pas donnent pour oDoc, soit l'IDE c'est à dire l'éditeur de macros, soit le formulaire contenu dans TaBase.odb ce qui ne convient également pas. Je n'ai trouvé qu'un moyen de vérification : Pour vérifier le bon fonctionnement, je pars d'une base * fermée*, voire d'openoffice fermé puis j'ouvre le fichier TaBase.odb, je double-clique sur mon formulaire qui s'ouvre alors. *Note qu'il n'est alors pas en mode modification. * A partir de là, seulement, je lance la macro de fermeture par outils, Macros, Exécuter, ou bien j'actionne le bouton auquel la macro est associée . Le message n'apparaît alors pas et le formulaire se ferme. */Mais il ne faut pas ouvrir l'IDE de programmation/*. J'ai été contraint d'utiliser StarDesktop car quand le formulaire est ouvert ThisComponent pointe sur le formulaire ouvert et pas sur le fichier ..\TaBase.odb, ce qui ne fonctionne alors pas. L'envers de la médaille est que StarDeskTop pointe sur le dernier document OpenOffice ouvert. Pour être sûr de ne pas perturber le fonctionnement de la macro, il est donc plus sûr de ne rien ouvrir d'autre que la base et le formulaire. Maintenant, si tu trouves que la procédure que je te propose n'est pas assez sûre, tu peux aussi la blinder de la manière suivante : Sub Fermeture2 Dim oDoc As Object, oFormClo As Object, oDocForms As Object Dim oDocs As Object, sForm As String oDocs = StarDeskTop.getComponents.createEnumeration Do While oDocs.hasmoreElements oDoc = oDocs.NextElement If Instr(oDoc.URL, Base.odb) 0 Then Exit Do Loop oDocForms = oDoc.getFormDocuments() sForm = Travail oFormClo = oDocForms.getByName(sForm) oFormClo.dispose End Sub Tu vas y arriver. Il y a toujours une solution. Jean-Marc Bonjour, J'ai testé Fermeture2 et cela marche parfaitement. Je vais abuser un peu plus de ton temps avec une autre question: Pourrait-on par la même macro fermer la base ? Arnaud POUSSIER - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] [Base] Probléme assignation de macro
Bonsoir à tous, Dans un document base j'ai deux formulaires (pour l'instant) dont l'ouverture doit se faire en mode plein écran. J'ai crée une macro avec l'enregistreur de macro dans ce sens. Je l'ai mis dans chaque formulaire. Mon soucis vient du fait que lorsque j'assigne cette macro à l'ouverture de document sur chacun des formulaires cela crée un conflit (conflit persistant même si je change le nom de la macro) je pense que cela vient du fait que l'assignation est l'ouverture de document et non pas du document mais cette option n'apparait pas dans la liste des possibilités. J'ai donc pensé passé par un autre chemin : j'utilise la macro suivante (merci à Christine) depuis le premier formulaire pour ouvrir l'autre. Jusque là tout va bien. Il y a-t-il un moyen de d'activer ma macro pleincran depuis la macro ouvrirformulaire Sub OuvrirFormulaire() dim optFichier(2) as new com.sun.star.beans.PropertyValue monDoc = thisComponent lesForm = monDoc.Parent.FormDocuments monForm = lesForm.getByName(NomFormulaire) optFichier(0).Name = ActiveConnection optFichier(0).Value = monDoc.Parent.DataSource.getConnection(,) ' user, password optFichier(1).Name = OpenMode optFichier(1).Value = open lesForm.loadComponentFromURL(monForm.Name, , 0, optFichier()) End Sub Merci d'avance et bonne soirée à tous
Re: [prog] Fermer un formulaire
JMD a écrit Si, il suffit de rajouter avant le End Sub, l'instruction oDoc.Close(True) Slts JMD Merci à toi et bonne soirée. Mon fichier avance mais ce n'est pas de tout repos. Arnaud POUSSIER - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Fermer un formulaire
JMD Jean-Marc Delmas a écrit En fait la variable sForm est initialisée dans chaque formulaire avec le nom du formulaire à fermer. Dans Contacts il est initialisé à Contacts dans Appels à Appels dans Adresses à Adresses etc La ligne d'appel de la macro Fermeture donne donc après remplacement oDispatch.executeDispatch( StarDesktop, macro://Contacts/Standard.Lanceur.Fermeture( sForm ), , 0, Array() ) ^ ^^ ^ II II formulaire Biblio Module Macro où se trouve Fermeture oDispatch.executeDispatch( StarDesktop, macro://Contacts/Standard.Lanceur.Fermeture(Appels), , 0, Array() ) Dans la mesure où tu fermes le formulaire qui pour mon cas est le formulaire pivôt, sForm serait alors initialisée à Contacts Cependant dans la mesure où tu n'as qu'un formulaire à fermer, s'il s'appelait Travail pourquoi n'utilises-tu pas directement la macro Fermeture en la modifiant légèrement ainsi : Sub Fermeture Dim oDoc As Object, oFormClo As Object, oDocForms As Object, sForm As String oDoc = StarDeskTop.getCurrentComponent oDocForms = oDoc.getFormDocuments() sForm = Travail oFormClo = oDocForms.getByName(sForm) oFormClo.dispose End Sub Un détail qui a son importance : J'utilise StarDesktop et pas ThisComponent. Dans ce cas, tu ne peux pas tester pas à pas dans l'éditeur de macros. Il n'y a pas d'autre solution pour tester que de tenter la fermeture du formulaire en lançant la macro Fermeture. Cordialement Jean-Marc Merci pour ces infos je teste et je te tiens au courant Bonne journée POUSSIER Arnaud - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Fermer un formulaire
JMD Jean-Marc Delmas a écrit En fait la variable sForm est initialisée dans chaque formulaire avec le nom du formulaire à fermer. Dans Contacts il est initialisé à Contacts dans Appels à Appels dans Adresses à Adresses etc La ligne d'appel de la macro Fermeture donne donc après remplacement oDispatch.executeDispatch( StarDesktop, macro://Contacts/Standard.Lanceur.Fermeture( sForm ), , 0, Array() ) ^ ^^ ^ II II formulaire Biblio Module Macro où se trouve Fermeture oDispatch.executeDispatch( StarDesktop, macro://Contacts/Standard.Lanceur.Fermeture(Appels), , 0, Array() ) Dans la mesure où tu fermes le formulaire qui pour mon cas est le formulaire pivôt, sForm serait alors initialisée à Contacts Cependant dans la mesure où tu n'as qu'un formulaire à fermer, s'il s'appelait Travail pourquoi n'utilises-tu pas directement la macro Fermeture en la modifiant légèrement ainsi : Sub Fermeture Dim oDoc As Object, oFormClo As Object, oDocForms As Object, sForm As String oDoc = StarDeskTop.getCurrentComponent oDocForms = oDoc.getFormDocuments() sForm = Travail oFormClo = oDocForms.getByName(sForm) oFormClo.dispose End Sub Un détail qui a son importance : J'utilise StarDesktop et pas ThisComponent. Dans ce cas, tu ne peux pas tester pas à pas dans l'éditeur de macros. Il n'y a pas d'autre solution pour tester que de tenter la fermeture du formulaire en lançant la macro Fermeture. Cordialement Jean-Marc ARNAUD POUSSIER a écrit: Merci pour ces infos je teste et je te tiens au courant Bonne journée Bonsoir je viens de faire un test avec la macro fermeture et j'ai un probléme avec cette ligne oDocForms = oDoc.getFormDocuments() run time error basic propriété ou méthode introuvable - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Fw: [prog] Fermer un formulaire
Toutes mes excuses j'ai oublié ceci dans mon précédent message: Merci encore de l'aide que vous pouvez m'apporter et bonne soirée - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Fermer un formulaire
[EMAIL PROTECTED] a écrit : Bonjour à tous, Je suis à la recherche d'une macro pour fermer un formulaire dans Base. J'ai réussit avec l'enregistreur de macro à recréer les événements standards (enregistrement suivant, précédent etc...) mais impossible d'en créer une pour fermer le formulaire. Je travaille sur un formulaire en plein écran et de ce fait je n'ai plus les petits symboles en haut à droites (notament pour fermer le document) Merci d'vance pour votre aide et bonne journée à tous J'ai une collection de formulaires. Un formulaire est le formulaire pivôt qui gère ouverture et fermeture de l'ensemble de la collection. Ce formulaire s'appelle Contacts, et contient la macro Fermeture dans sa bibli Lanceur: '--Fermeture Sub Fermeture( sForm As String) Dim oDoc As Object, oFormClo As Object, oDocForms As Object, Mess As String oDoc = StarDeskTop.getCurrentComponent oDocForms = oDoc.getFormDocuments() oFormClo = oDocForms.getByName(sForm) oFormClo.dispose End Sub Cette macro est appelée par chaque formulaire, y compris lui-même grâce à la macro suivante associée à un bouton de commande : '--Appel_Fermeture--- Sub Appel_Fermeture(oEvent As Object) Dim oDispatch As Object, sForm As string sForm = Appels oDispatch = createUnoService( com.sun.star.frame.DispatchHelper ) oDispatch.executeDispatch( StarDesktop, macro://Contacts/Standard.Lanceur.Fermeture( sForm ), , 0, Array() ) End Sub Le recours au dispatcher est du au fait que je voulais n'avoir la macro Fermeture qu'en un seul exemplaire dans un formulaire central. Espérant que cela aide J-M Delmas Merci de ton aide mais j'ai quelques soucis à mettre tout cela en place pourtant j'ai récrée un formulaire avec le même nom, une blibli également et recopié l'ensemble de ton code mais rien ne marche. Même pas de message d'erreur. Je pense que je doit mal paramétrer la seconde macro : sForm = Appels === dois-je laisser le même nom ? Pour cette ligne, j'ai tout mis pareil mais mais il dois y avoir un soucis quelque part ?? oDispatch.executeDispatch( StarDesktop, macro://Contacts/Standard.Lanceur.Fermeture( sForm ), , 0, Array() ) Merci encore de ton aide Arnaud POUSSIER - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Masquer les barres d'outils
Bonjour à tous, On vient de passer à la version 2.0.2 de OpenOffice. Tout nos documents crées précédement avec la version fonctionnent trés bien sauf au niveau de certaines macro. En effet, j'utiliser la macro suivante pour masquer les barres d'outils lors de l'ouverture de mon document calc (macro que j'avais crée en utilisant l'enregistreur de macro). sub OFFMENU rem -- rem define variables dim document as object dim dispatcher as object rem -- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) rem -- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = StatusBarVisible args1(0).Value = false dispatcher.executeDispatch(document, .uno:StatusBarVisible, , 0, args1()) rem -- dim args2(0) as new com.sun.star.beans.PropertyValue args2(0).Name = ToolBarVisible args2(0).Value = false dispatcher.executeDispatch(document, .uno:ToolBarVisible, , 0, args2()) rem -- dim args3(0) as new com.sun.star.beans.PropertyValue args3(0).Name = ObjectBarVisible args3(0).Value = false end sub Mais sous la version 2 cette macro ne marche pas du tout. Est-ce que les barres d'outils se nomment autrement sous la version, car j'ai essayé avec l'enregistreur et ..rien ? Ou alors il y a-t-il un autre moyen pour masquer les barres d'outils à l'ouverture (sans passer par le mode plein écran, qui m'irait trés bien s'il y avait un moyen de masquer la barre d'outil plein écran) Merci d'avance à tous et bonne journée
Re: [prog] Masquer les barres d'outils
Merci pour toute ces infos et bonne journée à toi - Original Message - From: [EMAIL PROTECTED] To: prog@fr.openoffice.org Sent: Thursday, December 07, 2006 2:14 PM Subject: RE: [prog] Masquer les barres d'outils Bonjour, En ce qui concerne le nom des barres d'outils, voir les fichiers xcu du répertoire : $OOPATH/share/registry/res/fr/org/openoffice/Office/UI Les noms des toolbars sont de la forme : private:resource/toolbar/nom_de_la_toolbar Ci-dessous la macro que j'utilise pour lister les noms des toolbars (uniquement celles déjà ouvertes) : oSM = getProcessServiceManager() oDesktop = oSM.createInstance(com.sun.star.frame.Desktop) doc=oDesktop.loadComponentFromURL(private:factory/swriter,_blank,0, Array()) ' xFrame = ThisComponent.CurrentController.Frame xController = doc.getCurrentController() xFrame = xController.getFrame() ' xFrame = oDesktop.getCurrentFrame() xLayoutMgr = xFrame.LayoutManager ' Exemple pour afficher la barre d'outil Dessin xLayoutMgr.createElement(private:resource/toolbar/drawbar) xLayoutMgr.showElement(private:resource/toolbar/drawbar) ' utiliser hideElement (je suppose) pour masquer une toolbar ' à vérifier dans la doc du SDK ' Liste des URL des toolbars ouvertes seq = xLayoutMgr.getElements() For i = LBound(seq) To UBound(seq) msgBox seq(i).ResourceURL Next La récupération de la Frame (xFrame) dépend du contexte au lancement de la macro (document ouvert ou non). J'ai mis les autres façons de récupérer la Frame en commentaire. Cordialement, Emmanuel. -Message d'origine- De : Arnaud POUSSIER [mailto:[EMAIL PROTECTED] Envoyé : jeudi 7 décembre 2006 14:03 À : OpenOffice Prog fr Objet : [prog] Masquer les barres d'outils Bonjour à tous, On vient de passer à la version 2.0.2 de OpenOffice. Tout nos documents crées précédement avec la version fonctionnent trés bien sauf au niveau de certaines macro. En effet, j'utiliser la macro suivante pour masquer les barres d'outils lors de l'ouverture de mon document calc (macro que j'avais crée en utilisant l'enregistreur de macro). sub OFFMENU rem -- rem define variables dim document as object dim dispatcher as object rem -- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) rem -- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = StatusBarVisible args1(0).Value = false dispatcher.executeDispatch(document, .uno:StatusBarVisible, , 0, args1()) rem -- dim args2(0) as new com.sun.star.beans.PropertyValue args2(0).Name = ToolBarVisible args2(0).Value = false dispatcher.executeDispatch(document, .uno:ToolBarVisible, , 0, args2()) rem -- dim args3(0) as new com.sun.star.beans.PropertyValue args3(0).Name = ObjectBarVisible args3(0).Value = false end sub Mais sous la version 2 cette macro ne marche pas du tout. Est-ce que les barres d'outils se nomment autrement sous la version, car j'ai essayé avec l'enregistreur et ..rien ? Ou alors il y a-t-il un autre moyen pour masquer les barres d'outils à l'ouverture (sans passer par le mode plein écran, qui m'irait trés bien s'il y avait un moyen de masquer la barre d'outil plein écran) Merci d'avance à tous et bonne journée - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Vérifier l'existence d'un fichier
Bonjour Arnaud POUSSIER a écrit : Bonjour, Dans la macro suivante généré grâce à Francois Gatto, merci à lui, le nom du fichier exporté en pdf est lié à un cellule précise. Est-ce qu'il est possible de vérifier s'il le fichier n'existe pas déjà dans le repertroire de detination ? regarde du coté de FileExists (F1) Laurent Merci Laurent Je regarde cela tout de suite @+ J'ai regardé dans le livre et dans l'aide (F1) et franchement je n'avance pas beaucoup. Apparement j'ai un soucis au niveau de l'instruction FileExists. J'ai essayé de l'intégrer dans une expression If mais pour le moment je séche. Merci d'avance pour votre aide Arnaud - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Vider le contenu de certaines cellules
Bonjour à tous, Je voudrais savoir s'il est possible via une macro de vider le contenu de certaines cellules dans un document calc. Mon soucis vient du fait que ces cellules sont disséminées un peu partout dans mon document. Merci d'avance
Re: [prog] Vérifier l'existence d'un fichier
Arnaud POUSSIER a écrit : Bonjour, Dans la macro suivante généré grâce à Francois Gatto, merci à lui, le nom du fichier exporté en pdf est lié à un cellule précise. Est-ce qu'il est possible de vérifier s'il le fichier n'existe pas déjà dans le repertroire de detination ? regarde du coté de FileExists (F1) Laurent Merci Laurent Je regarde cela tout de suite @+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Insertion date dans dialogue
Bonjour à tous, Eurêka A force de faire et de défaire ce code, j'ai enfin trouvé. A vrai dire je suis reparti de zéro, avec simplement le ligne de code pour afficher une boîte de dialogue tout simple afin d'avancer petit à petit: Sub Afficheboite Dim oDlg As Object oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog2 ) oDlg.execute() End Sub Donc apparition de ma boite, il ne me restait plus qu'à ajouter un contrôle pour afficher la date. Après de nombreux essais, je suis arrivé à ceci pour y parvenir: oDlg.GetControl(FormattedField1).Text = date Dans un premier temps j'avais occulté .Text, et cela me renvoyé l'erreur habituel. J'ai fait des tests avec chaque type de champs et toujours la même erreur sauf avec NumericField. Si j'écrivais ceci: oDlg.GetControl(NumericField1) = date j'obtenais bien un résultat dans la boîte de dialogue, en occurrence 15 (pour aujourd'hui, chiffre du jour) et rien d'autre. J'ai cherché ( et tripatouillé) dans les propriétés du champs pour voir s'il y avait une possibilité de formatage mais rien. J'ai alors cherché dans les messages du forum s'il y en avait qui parlait du formatage de la date, et je suis tombé sur un message (resté d'ailleurs jusqu'ici sans réponse) qui s'intitule : Détecter retour chariot et cette phrase : j'arrive à récupérer le texte saisi par getcontrol(nom).text J'ai testé sur mon code et miracle, c'était aussi simple que cela. Et cela marche ainsi avec les différents types de champs. J'ai alors choisit FormattedField1 comme type de champs définitif car c'est celui qui me laisse le plus de latitude pour mettre ce champs en forme dans la boîte de dialogue. Bon voilà pour l'instant en vous souhaitant bonne lecture. Pourquoi faire compliqué quand on peut faire simple C'est pas de moi mais ça va très bien ici. Merci à Philippe et à Jacques pour leur aide Bonne journée Arnaud - Original Message - From: BRONCHART Philippe [EMAIL PROTECTED] To: prog@fr.openoffice.org Sent: Tuesday, February 14, 2006 7:18 PM Subject: RE: [prog] Insertion date dans dialogue Oui effectivement, il manque une déclaration de variables Sub Main1 Dim Dlg As Object, bibli As Object Dim monDialogue As Object, exitOK As Integer Dim champdate As object, UneDate as date ' ICI exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OK bibli = DialogLibraries.GetByName(Standard) monDialogue = bibli.GetByName(Dialog1) Dlg = CreateUnoDialog(monDialogue) If Dlg.Execute = exitOK Then , Ici champdate = Dlg.GetControl(Datefield1) UneDate = ChampDate.date ' ici ChampDate_AMJ(UneDate, a , m , j) ' pour formater la date Print J M A End if Dlg.Dispose End sub Tiens nous au courant Amicalement Philippe BRONCHART -Message d'origine- De : Arnaud POUSSIER [mailto:[EMAIL PROTECTED] Envoyé : mardi 14 février 2006 18:22 À : prog@fr.openoffice.org Objet : Re: [prog] Insertion date dans dialogue Bonsoir Jacques, Un peu plus d'explication de serait pas de refus Merci d'avance - Original Message - From: Jacques Lenglet [EMAIL PROTECTED] To: prog@fr.openoffice.org Sent: Tuesday, February 14, 2006 3:34 PM Subject: Re: [prog] Insertion date dans dialogue Bonjour à tous la variable UneDate n'est pas déclarée cordialement JackL Arnaud POUSSIER a écrit : Salut, désolé mais même réponse que précédement, toujour à propos de la même ligne @+ - Original Message - *From:* BRONCHART Philippe mailto:[EMAIL PROTECTED] *To:* prog@fr.openoffice.org mailto:prog@fr.openoffice.org *Sent:* Tuesday, February 14, 2006 12:50 PM *Subject:* RE: [prog] Insertion date dans dialogue Salut Arnaud Il manque un If Sub Main1 Dim Dlg As Object, bibli As Object Dim monDialogue As Object, exitOK As Integer Dim champdate As object exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OK bibli = DialogLibraries.GetByName(Standard) monDialogue = bibli.GetByName(Dialog1) Dlg = CreateUnoDialog(monDialogue) If Dlg.Execute = exitOK Then , Ici champdate = Dlg.GetControl(Datefield1) UneDate = ChampDate.date ' ici ChampDate_AMJ(UneDate, a , m , j) ' pour formater la date Print J M A End if Dlg.Dispose End sub *De :* Arnaud POUSSIER [mailto:[EMAIL PROTECTED] *Envoyé :* mardi 14 février 2006 12:01 *À :* OpenOffice Prog *Objet :* Re: [prog] Insertion date dans dialogue Salut, J'ai fait un test et cela me renvoi l'erreur suivante: Pour la ligne UneDate = ChampDate.date J'ai une Runtime Error BASIC, Variable d'objet non paramétrée Si quelq'un a une idée @+ et merci d'avance - Original Message - *From
Re: [prog] Insertion date dans dialogue
Salut, J'ai fait un test et cela me renvoi l'erreur suivante: Pour la ligne UneDate = ChampDate.date J'ai une Runtime Error BASIC, Variable d'objet non paramétrée Si quelq'una une idée @+ et merci d'avance - Original Message - From: Arnaud POUSSIER To: prog@fr.openoffice.org Sent: Tuesday, February 14, 2006 9:23 AM Subject: Re: [prog] Insertion date dans dialogue Bonjour Philippe et tout les autres Merci pour ton info, c'est vrai que cela doit être comme tu le dis dans le livre mais je suis en vacances et j'ai laissé le livre à la maison, alors j'essaie de faire avec les moyens du bord. Je fais un test @+ et bonne journée à tous - Original Message - From: BRONCHART Philippe To: prog@fr.openoffice.org Sent: Monday, February 13, 2006 10:42 PM Subject: RE: [prog] Insertion date dans dialogue Salut arnaud Si je ne me trompe pas, daprès le bouquin (Page 476) il faut récupérer la date avec la propriété date! Sub Main1 Dim Dlg As Object, bibli As ObjectDim monDialogue As Object, exitOK As IntegerDim champdate As object exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OKbibli = DialogLibraries.GetByName("Standard")monDialogue = bibli.GetByName("Dialog1")Dlg = CreateUnoDialog(monDialogue) Dlg.Execute = exitOKchampdate = Dlg.GetControl("Datefield1") UneDate = ChampDate.date ici ChampDate_AMJ(UneDate, a , m , j) pour formater la date Print J M A Amicalement Philippe De: Arnaud POUSSIER [mailto:[EMAIL PROTECTED] Envoyé: lundi 13 février 2006 17:14À: OpenOffice ProgObjet: [prog] Insertion date dans dialogue Bonjour à tous, J'ai un petit problème, j'essaie de faire apparaître la date du jour une boite de dialogue mais jusqu'à maintenant rien ne marche, si quelqu'un à une idée Merci d'avance Voilà le code sur lequel je travail Sub Main1 Dim Dlg As Object, bibli As ObjectDim monDialogue As Object, exitOK As IntegerDim champdate As object exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OKbibli = DialogLibraries.GetByName("Standard")monDialogue = bibli.GetByName("Dialog1")Dlg = CreateUnoDialog(monDialogue) Dlg.Execute = exitOKchampdate = Dlg.GetControl("Datefield1") End Sub
Re: [prog] Insertion date dans dialogue
Bonsoir Jacques, Un peu plus d'explication de serait pas de refus Merci d'avance - Original Message - From: Jacques Lenglet [EMAIL PROTECTED] To: prog@fr.openoffice.org Sent: Tuesday, February 14, 2006 3:34 PM Subject: Re: [prog] Insertion date dans dialogue Bonjour à tous la variable UneDate n'est pas déclarée cordialement JackL Arnaud POUSSIER a écrit : Salut, désolé mais même réponse que précédement, toujour à propos de la même ligne @+ - Original Message - *From:* BRONCHART Philippe mailto:[EMAIL PROTECTED] *To:* prog@fr.openoffice.org mailto:prog@fr.openoffice.org *Sent:* Tuesday, February 14, 2006 12:50 PM *Subject:* RE: [prog] Insertion date dans dialogue Salut Arnaud Il manque un If Sub Main1 Dim Dlg As Object, bibli As Object Dim monDialogue As Object, exitOK As Integer Dim champdate As object exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OK bibli = DialogLibraries.GetByName(Standard) monDialogue = bibli.GetByName(Dialog1) Dlg = CreateUnoDialog(monDialogue) If Dlg.Execute = exitOK Then , Ici champdate = Dlg.GetControl(Datefield1) UneDate = ChampDate.date ‘ ici ChampDate_AMJ(UneDate, a , m , j) ‘ pour formater la date Print J M A End if Dlg.Dispose End sub *De :* Arnaud POUSSIER [mailto:[EMAIL PROTECTED] *Envoyé :* mardi 14 février 2006 12:01 *À :* OpenOffice Prog *Objet :* Re: [prog] Insertion date dans dialogue Salut, J'ai fait un test et cela me renvoi l'erreur suivante: Pour la ligne UneDate = ChampDate.date J'ai une Runtime Error BASIC, Variable d'objet non paramétrée Si quelq'un a une idée @+ et merci d'avance - Original Message - *From:* Arnaud POUSSIER mailto:[EMAIL PROTECTED] *To:* prog@fr.openoffice.org mailto:prog@fr.openoffice.org *Sent:* Tuesday, February 14, 2006 9:23 AM *Subject:* Re: [prog] Insertion date dans dialogue Bonjour Philippe et tout les autres Merci pour ton info, c'est vrai que cela doit être comme tu le dis dans le livre mais je suis en vacances et j'ai laissé le livre à la maison, alors j'essaie de faire avec les moyens du bord. Je fais un test @+ et bonne journée à tous - Original Message - *From:* BRONCHART Philippe mailto:[EMAIL PROTECTED] *To:* prog@fr.openoffice.org mailto:prog@fr.openoffice.org *Sent:* Monday, February 13, 2006 10:42 PM *Subject:* RE: [prog] Insertion date dans dialogue Salut arnaud Si je ne me trompe pas, d’après le bouquin (Page 476) il faut récupérer la date avec la propriété date ! Sub Main1 Dim Dlg As Object, bibli As Object Dim monDialogue As Object, exitOK As Integer Dim champdate As object exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OK bibli = DialogLibraries.GetByName(Standard) monDialogue = bibli.GetByName(Dialog1) Dlg = CreateUnoDialog(monDialogue) Dlg.Execute = exitOK champdate = Dlg.GetControl(Datefield1) UneDate = ChampDate.date ‘ ici ChampDate_AMJ(UneDate, a , m , j) ‘ pour formater la date Print J M A Amicalement Philippe *De :* Arnaud POUSSIER [mailto:[EMAIL PROTECTED] *Envoyé :* lundi 13 février 2006 17:14 *À :* OpenOffice Prog *Objet :* [prog] Insertion date dans dialogue Bonjour à tous, J'ai un petit problème, j'essaie de faire apparaître la date du jour une boite de dialogue mais jusqu'à maintenant rien ne marche, si quelqu'un à une idée Merci d'avance Voilà le code sur lequel je travail Sub Main1 Dim Dlg As Object, bibli As Object Dim monDialogue As Object, exitOK As Integer Dim champdate As object exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OK bibli = DialogLibraries.GetByName(Standard) monDialogue = bibli.GetByName(Dialog1) Dlg = CreateUnoDialog(monDialogue) Dlg.Execute = exitOK champdate = Dlg.GetControl(Datefield1) End Sub - To unsubscribe, e-mail: [EMAIL
[prog] Insertion date dans dialogue
Bonjour à tous, J'ai un petit problème, j'essaie de faire apparaître la date du jour une boite de dialogue mais jusqu'à maintenant rien ne marche, si quelqu'un à une idée Merci d'avance Voilà le code sur lequel je travail Sub Main1 Dim Dlg As Object, bibli As ObjectDim monDialogue As Object, exitOK As IntegerDim champdate As object exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OKbibli = DialogLibraries.GetByName("Standard")monDialogue = bibli.GetByName("Dialog1")Dlg = CreateUnoDialog(monDialogue) Dlg.Execute = exitOKchampdate = Dlg.GetControl("Datefield1") End Sub
Re: [prog] Remplir un combo ooo2.01
Bonsoir Philippe et bonsoir à tous Je me suis penché tant bien que mal sur ton probléme de chargement de liste dans une boite de dialogue et je crois que j'ai trouvé la solution ( ou tout du moins une solution), en fait j'ai combiné deux macros celle de ton fichier et celle contenu dans le fichier CalcListesValidationMacro2.stc. Le resultat est un code qui tien la route, enfin à mon avis. Si tu es toujours intéréssé dis le moi et je te l'enverrai. Idem pour les autres @+ et bonne fin de week end à tous - Original Message - From: BRONCHART Philippe [EMAIL PROTECTED] To: prog@fr.openoffice.org Sent: Monday, February 06, 2006 1:41 PM Subject: RE: [prog] Remplir un combo ooo2.01 Bonjour à tous Merci à Bernard et à jovial pour leur aide. Je ne m'en sors pas ... Pourtant pas une manip extraordinaire de vouloir remplir un combo ou une liste a partir d'une plage calc Je laisse tomber pour le moment ... Je vais continuer à bosser les bouquins ...Sniff Amicalement Philippe -Message d'origine- De : Bernard Marcelly [mailto:[EMAIL PROTECTED] Envoyé : mardi 31 janvier 2006 09:11 À : prog@fr.openoffice.org Objet : Re: [prog] Remplir un combo ooo2.01 Bonjour BRONCHART Philippe Message du 2006-01-30 23:05: Bonsoir Non rien à faire Variable objet non paramétrée ... Comprends pas ... La prochaine fois, indique l'instruction en faute, ça aide. Origine possible: - il manque une instruction pour charger la bibliothèque de dialogue (voir un fil récent) cela _peut_ faire une erreur. - combo n'est pas initialisé. Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Antivirus avast! : message Entrant sain. Base de donnees virale (VPS) : 0605-2, 31/01/2006 Analyse le : 31/01/2006 21:07:12 avast! - copyright (c) 1988-2005 ALWIL Software. http://www.avast.com --- Antivirus avast! : message Sortant sain. Base de donnees virale (VPS) : 0606-0, 04/02/2006 Analyse le : 06/02/2006 13:41:28 avast! - copyright (c) 1988-2005 ALWIL Software. http://www.avast.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Export PDF et barre d'?tat
Bonsoir à tous, J'utilise la macro suivante pour exporter une partie dedocument au format pdf. Dans ce même document, j'ai oté la barre d'état. Mon probléme est le suivant: A chaque fois que j'active cette macro, cela me remet la barre d'état et impossible de l'enlever sauf si je ferme le document. J'ai dû oublier un morceau de code mais pour l'instant je ne voie pas trop où. Si quelqu'un à une idée, je suis preneur. sub ExpPDF01Dim monDocument As ObjectDim adresseDoc As StringDim PropFich(1) As New com.sun.star.beans.PropertyValueDim filterProps(1) As New com.sun.star.beans.PropertyValuemonDocument = thisComponentfilterProps(0).Name = "PageRange"filterProps(0).Value = "1"filterProps(1).Name = "CompressMode"filterProps(1).Value = 1propFich(0).Name = "FilterName"propFich(0).Value = "calc_pdf_Export"propFich(1).Name = "FilterData"propFich(1).Value = filterProps()adresseDoc = convertToURL("C:\Mon doc\TOTO.pdf") monDocument.storeToURL(adresseDoc, propfich()) End Sub Merci d'avance
Re: [prog] Macros imbriquée
Arnaud POUSSIER a écrit : Bonsoir à tous, Bonjour, Dans un document j'utilise un bouton auquel j'ai affecté une macro pour aller de la feuille A à la feuillle B. Dans la macro, j'ai insérer une instruction Call afin d'appeller une autre macro, celle-ci sert à recharger les données( cela peut prendre beaucoup de temps). Est-il possible de laisser le choix à l'utilisateur avec une msgbox, par oui ou non, afin qu'il accéde plus vite à la feuille B. Oui vous pouvez regarder dans l'aide. La liste prog@fr.openoffice.org est plus adaptée pour parler de programmation sous OOo, que celle-ci. Je vous invite à vous y inscrire. Cordialement. -- Clément Cordaro Merci pour cette réponse pour le moins succinte !! Une chose encore, c'est bien sur la liste prog que cette question était posée Bonne soirée - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Macros imbriquée
Bonsoir à tous, Dans un document j'utilise un bouton auquel j'ai affecté une macro pour aller de la feuille A à la feuillle B. Dans la macro, j'ai insérer une instruction Call afin d'appeller une autre macro, celle-ci sert à recharger les données( cela peut prendre beaucoup de temps). Est-il possible de laisser le choix à l'utilisateur avec une msgbox, par oui ou non, afin qu'il accéde plus vite à la feuille B. Merci d'avance
[prog] Titre de msgbox
Bonsoir à tous, J'ai crée une msgbox pour annoncer la fin d'un traitement de données. Le titre de cette msgbox est Soffice par défaut. Est-il possible de le modifier ? J'ai cherché comment modifier ce paramêtre avec le livre mais pour l'instant rien ne marche. Merci d'avance
Re: [prog] Titre de msgbox
Bonsoir Laurent et surtout merci. Pour le livre j'avais pas compris comment l'intégrer dans la séquence. Pour l'astuce, un grand merci Bonne soirée c'est le troisieme argument MsgBox Mon Message, mesOptions, Le titre une astuce ? dans l'IDE, met le curseur sur msgbox et appuie sur F1 ca te pointera directeemnt vers l'aide et tu auras la syntaxe et les valeurs possibles à utiliser pour mesOptions ref: livreV1: p125, livreV2: p150 Laurent - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Renvoi de valeur dans formulaire
Bonjour, J'ai testé le code envoyé et cela me renvoi une runtime error basic : Propriété ou méthode introuvable au niveau de la premiére ligne. Franchement je séche un peu. Merci de votre aide - Message d'origine - De : Jovial [EMAIL PROTECTED] À : prog@fr.openoffice.org Envoyé : vendredi 25 novembre 2005 11:07 Objet : Re: [prog] Renvoi de valeur dans formulaire Arnaud POUSSIER a écrit : Bonjour à tous, Sous Ooo 1.1.1, j'ai crée un formulaire auquel est associé un fichier .dbf. Le premier champ à remplir dans mon formulaire est une textbox devant contenir un numéro d'ordre. Comme à chaque ouverture du formulaire celui-ci se positionne toujours sur le premier enregistrement, est-il possible dans une autre textbox de renvoyer le numéro d'ordre du dernier enregistrement ? Merci d'avance Bonjour Il faut cliquer sur le bouton dernier enregistrement et le nombre d'enregistrements est affiché dans la barre de formulaire, si tu veux que le formulaire s'affiche sur le dernier enregistrement dès l'ouverture, essaye d'assigner la macro suivante à l'événement Ouverture document sub AllerFin DrawPage = ThisComponent.CurrentController.ActiveSheet.DrawPage 'sélectionne la partie graphique de la feuille Form = DrawPage.Forms.GetByIndex(0)'sélectionne le 1er formulaire If Form.IsModified = true then Form.UpdateRow Form.last end sub Jean-luc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Renvoi de valeur dans formulaire
Ok merci pour le code, cela marche nettement mieux maintenant. Bonne soirée - Message d'origine - De : Jovial [EMAIL PROTECTED] À : prog@fr.openoffice.org Envoyé : mardi 29 novembre 2005 11:10 Objet : Re: [prog] Renvoi de valeur dans formulaire Oui désolé c'est du code pour un doc calc essaye cela sous writer sub AllerFin DrawPage = ThisComponent.DrawPage 'sélectionne la partie graphique de la feuille Form = DrawPage.Forms.GetByIndex(0)'sélectionne le 1er formulaire If Form.IsModified = true then Form.UpdateRow Form.last end sub Jean-luc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Renvoi de valeur dans formulaire
Bonjour à tous, Sous Ooo 1.1.1, j'ai crée un formulaire auquel est associé un fichier .dbf. Le premier champ à remplir dans mon formulaire est une textbox devant contenir un numéro d'ordre. Comme à chaque ouverture du formulaire celui-ci se positionne toujours sur le premier enregistrement, est-il possible dans une autre textbox de renvoyer lenuméro d'ordre du dernier enregistrement? Merci d'avance
Re: [prog] Ouverture et fermeture de fichier
Bonjour Arnaud POUSSIER, Message du 2005-10-18 15:13: Bonjour à tous, J'ai un fichier principal calc FICHIER_A avec plusieurs boutons. Chacun de ces boutons me permettent d'ouvrir un document calc différent, FICHIER_A1, FICHIER_A2 etc ... J'utilise le code suivant afin d'ouvrir l'un de ses documents et de fermer le fichier principal (tout se fait via un réseau interne) Mon soucis est le suivant, le fichier A1 s'ouvre bien mais toute les macro sont inopérantes. Il doit manquer un argument ou quelque chose comme cela dans le code mais jusqu'à maintenant je n'ai rien trouvé. Il faut transmettre dans les options le paramètre MacroExecutionMode. Voir dans le livre Programmation OpenOffice.org page 158, ou le fil de discussion OLE et exécution d'une macro sur cette liste. Bernard Ok merci cela marche trés bien Bonne journée - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Macro à la souris
Arnaud POUSSIER a écrit: Bonjour à tous, Je me sers de la macro liste de validation associée par défaur à la touche F2 afin de remplir une petit base de données dans un classeur calc afin d'éviter au maximun les erreurs de saisies. Je me demandais si on pouvais associé le clic droit de la souris à cette macro à la plage de la touche F2 ?Personnelement je n'ai pas réussi à le faire par programmation sur 1.1.x même avec les listenerpar contre sur la 2.0 tu pourras utiliser des listes dans la validité, ce qui permet de choisir une entrée en 2 clics. Merci d'avance et bon dimanche Jluc Merci pour cette réponse. Je connaissais cette solution sous Ooo 2.0 seulement là où je bosse (administration) on vient juste de nous installer la version 1.1 alors je ne pnse pas que la version 2.0 soit d'actualité Bonne soirée
[prog] Ouverture et fermeture de fichier
Bonjour à tous, Voilà, j'ai un petit probléme avec une macro que j'avais récupéré via le forum: J'ai un fichier principal calc " FICHIER_A " avec plusieurs boutons. Chacun de ces boutons me permettent d'ouvrir un document calc différent, FICHIER_A1, FICHIER_A2 etc ... J'utilise le code suivant afin d'ouvrir l'un de ses documents et de fermer le fichier principal (tout se fait via un réseau interne) Sub Oouvrir_A1()Dim doc1 As object ' fichier_ADim doc2 As object ' fichier_A1Dim propFich(1) As New com.sun.star.beans.PropertyValue doc1=thisComponent doc2=StarDesktop.LoadComponentFromURL(convertToUrl("//001posteréseau/Partage/FICHIER_A1.sxc"),"_blank",0, propFich()) doc1.close(true) End Sub Mon soucis est le suivant, le fichier A1 s'ouvre bien mais toute les macro sont inopérantes. Il doit manquer un argument ou quelque chose comme cela dans le code mais jusqu'à maintenant je n'ai rien trouvé. Si quelqu'un peut m'éclairer Merci d'avance Bonne journée
[prog] Macro à la souris
Bonjour à tous, Je me sers de la macro liste de validation associée par défaur à la touche F2 afin de remplir une petit base de données dans un classeur calc afin d'éviter au maximun les erreurs de saisies. Je me demandais si on pouvais associé le clic droit de la souris à cette macro à la plage de la touche F2 ? Merci d'avance et bon dimanche
[prog] Extraire un feuille en pdf
Bonjour à tous, Je suis sous Ooo 1.1.1 Dans un fichier calc, j'essaie d'extraire une seule feuille au format pdf par macro. La conversion du fichier entier ne pose pas de probléme particulier mais pour une seule feuille cela devient plus problématique. J'ai fait de recherche y compris sur le forum US mais je dois bien dire que je n'ai pas tout saisie. Merci d'avance pour votre aide.
Re: [prog] Extraire un feuille en pdf
Merci Cela marche impec Bonjour Arnaud POUSSIER, Message du 2005-10-04 10:34: Bonjour à tous, Je suis sous Ooo 1.1.1 Dans un fichier calc, j'essaie d'extraire une seule feuille au format pdf par macro. La conversion du fichier entier ne pose pas de probléme particulier mais pour une seule feuille cela devient plus problématique. Définir une zone d'impression (voir p.336 du livre), et exporter en pdf (voir p.169). Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Configuration d'impression
Bonjour à tous, Aprés avoir cherché sur le forum et sur la bible de programmation, je me tourne vers vous. Dans un classeur, j'ai deux tableaux sur deux feuilles différentes. Le premier est en mode portrait et le second en mode paysage. Pour les imprimer (pas enmême temps) j'ai utiliser la macro suivante:(page 176 du Livre) Pour imprimer mon tableau A qui correspond à la page 1: Option Explicit Sub ImprimerPartie()Dim monDocument As ObjectDim Props(0) As New com.sun.star.beans.PropertyValue monDocument = ThisComponentProps(0).Name = "Pages"Props(0).Value = "1"monDocument.Print(Props())End Sub Pour imprimer mon tableau B qui correspond aux pages 2 et 3: Option Explicit Sub ImprimerPartie()Dim monDocument As ObjectDim Props(0) As New com.sun.star.beans.PropertyValue monDocument = ThisComponentProps(0).Name = "Pages"Props(0).Value = "2;3"monDocument.Print(Props())End Sub Comment puis - je faire pour que le tableau B sorte en mode paysage ? Merci d'avance
[prog] Masquer toutes les barres d'outils
Bonjour à tous, Est-il possible de masquer toutes les barres d'outils présente à l'ouverture d'un fichier et les retrouver à la fermeture du fichier. J'avais la macro pour Excel, mais bien évidement incompatibilité totale. Merci de votre aide. Bonne journée Arnaud
Re: [prog] Masquer toutes les barres d'outils
Merci pour ces infos, Je teste et je tiens au courant @+ Arnaud [.] Je corrige car la macro fonctionne comme une bascule, c'est donc la même qui affiche ou masque les barre, par contre attention il faut prévoir un bouton pour tout réafficher, car on n'a même plus accès aux menu avec Alt, alors que avec l'affichage plein écran on le conserve. Jluc Bonjour regarde ici: http://www.oooforum.org/forum/viewtopic.phtml?t=6890 Sur 1.1.2 le code suivant fonctionne: Sub AfficherMasquerBarres oFrame = ThisComponent.CurrentController.Frame Dim noArgs1() dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) dispatcher.executeDispatch(oFrame, .uno:MenuBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:ObjectBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:OptionBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:NavigationBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:StatusBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:ToolBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:MacroBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:FunctionBarVisible, , 0, noArgs1()) 'on CalcFrames dispatcher.executeDispatch(oFrame, .uno:InputLineVisible, , 0, noArgs1()) End sub Arnaud POUSSIER a écrit : Bonjour à tous, Est-il possible de masquer toutes les barres d'outils présente à l'ouverture d'un fichier et les retrouver à la fermeture du fichier. J'avais la macro pour Excel, mais bien évidement incompatibilité totale. Merci de votre aide. Bonne journée Arnaud - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Masquer toutes les barres d'outils
Salut, le code fonctionne trés bien, c'est un bon moyen de tout masquer en une seule opération. Par contre je cherche toujour le moyen de cacher la barre plein écran. Merci pour ton aide @+ [.] Merci pour ces infos, Je teste et je tiens au courant @+ Arnaud [.] Je corrige car la macro fonctionne comme une bascule, c'est donc la même qui affiche ou masque les barre, par contre attention il faut prévoir un bouton pour tout réafficher, car on n'a même plus accès aux menu avec Alt, alors que avec l'affichage plein écran on le conserve. Jluc Bonjour regarde ici: http://www.oooforum.org/forum/viewtopic.phtml?t=6890 Sur 1.1.2 le code suivant fonctionne: Sub AfficherMasquerBarres oFrame = ThisComponent.CurrentController.Frame Dim noArgs1() dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) dispatcher.executeDispatch(oFrame, .uno:MenuBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:ObjectBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:OptionBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:NavigationBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:StatusBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:ToolBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:MacroBarVisible, , 0, noArgs1()) dispatcher.executeDispatch(oFrame, .uno:FunctionBarVisible, , 0, noArgs1()) 'on CalcFrames dispatcher.executeDispatch(oFrame, .uno:InputLineVisible, , 0, noArgs1()) End sub Arnaud POUSSIER a écrit : Bonjour à tous, Est-il possible de masquer toutes les barres d'outils présente à l'ouverture d'un fichier et les retrouver à la fermeture du fichier. J'avais la macro pour Excel, mais bien évidement incompatibilité totale. Merci de votre aide. Bonne journée Arnaud - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Retour sur fonction CalcSQL2
Bonjour, Je reviens sur le code que Jean Claude m'a indiqué pour déclaré une source de données à l'ouverture d'un fichier si celle-ci n'est pas encore connue. J'ai paramétré NomSource et indiqué l'URL de la source mais j'ai un probléme à ce niveau avec un message d'erreur d'indiquant Symbole imprévu: /. Voilà laligne de l'url source par le réseau oSource.URL = sdbc:calc:file:///001poste2/partage document/TRAFIC/Banale_2005/TDB/NUM1.sxc 'URLSOurce Une info importante, j'aurais dû commencer par là: Je suis sous OpenOffice 1.1 et windows XP PRO Merci d'avance [...] 1) Oui, dans le 1er onglet 2) Sur tous les PC, la source de données doit être définie (à la main ou par macro, mais c'est une autre histoire... pas du tout compliquée, mais plus longue à expliquer ), le nom de la source de données doit être absolument identique (orthographe et casse identiques). Si ce n'est pas le cas, pour que ton classeur fonctionne il va falloir adpater la formule du classeur sur chaque PC pour la mettre en rapport avec le nom exact de la source de données sur ce PC (ce qui revient au même, mais en plus compliqué et moins cohérent ;- 3) Je n'ai pas bien saisi l'utilisation de l'onglet Liens, mais tu n'en as à priori pas besoin Je joint quand même ci dessous un exemple de code qui crée - si besoin - une source de données avec pour nom le contenu de la variable globale NomSource (Ex : MaSource), et le classeur situé - sur un réseau - à l'endroit URLSource (Ex : sdbc:calc:file:///J:/AEH/JCD/Sauvegardes/Toto.sxw). Cette fonction peut être appelé à l'ouverture du classeur et ainsi créer automatiquement la source si elle n'est pas présente. Jean-Claude [...] Tu parles de reparametrer l'URL de la source de donnée, je suppose que c'est dans le premier onglet du gestionnaire. J'ai donc depuis un autre poste était cherché la source de données mais pour que cela soit pris en compte, il faut que je la déclare comme nouvelle source de données sur le poste ou je suis avec le même nom que sur le poste d'origine pour que le requête soit comprise. Où alors faut-il également faire un lien dans le dernier onglet du gestionnaire de source de données [...] Function Creation_Source_De_Donnees() As Boolean dim oContext as object dim oSource as object dim Reponse as string On Error Goto ErrorHandler oContext = createUnoService(com.sun.star.sdb.DatabaseContext) 'Test si la source de données existe Reponse = oContext.hasByName(NomSource) If Reponse = False Then 'Création de la source de données oSource = oContext.createInstance oContext.registerObject(NomSource, oSource) oSource.URL = URLSOurce End If Creation_Source_De_Donnees = True Goto Exit_Here Exit_False: Exit Function Exit_Here: Exit Function ErrorHandler: MsgBox Creation_Source_De_Donnees Erreur Err : Error$ (Ligne N° Erl ), sbCritical + sbOkOnly, Titre_Appli On Error Goto 0 Goto Exit_False End Function - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Retour sur fonction CalcSQL2
Merci pour cette info, ça marche beaucoup mieux maintenant, enfin presque Comme source de données j'utilise un fichier calc. Tout aller trés bien jusqu'à ce que j'essai d'utiliser mes fichiers en réseau depuis un autre poste. Maintenant dans la case j'ai source de données inconnue, alors que cela marche trés bien sur mon pc où sont implantés les fichiers. Je pense que c'est au niveau de la déclaration de la source de données que je doive faire quelque chose mais pour le moment je ne vois pas trop où rajouter un paramêtre supplémentaire. Merci d'avance pour toute l'aide Bon aprés midi Arnaud Arnaud POUSSIER a écrit le 28/06/05 16:58 : Désolé mais rien à faire, enregistrement, recalcul rien ne marche. Même en faisant F4 pour voir le module des sources de données, quand je clique sur actualiser les infos elles ne sont pas mis à jour. @+ Quelle source de données utilises-tu ? - Si c'est une source de données de type Classeur, il faut quitter OOo et le démarrage rapide pour que la mise à jour soit prise en compte. Bonne chance. Tony - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Retour sur fonction CalcSQL2
Salut, Tu parles de reparametrer l'URL de la source de donnée, je suppose que c'est dans le premier onglet du gestionnaire. J'ai donc depuis un autre poste était cherché la source de données mais pour que cela soit pris en compte, il faut que je la déclare comme nouvelle source de données sur le poste ou je suis avec le même nom que sur le poste d'origine pour que le requête soit comprise. Où alors faut-il également faire un lien dans le dernier onglet du gestionnaire de source de données @+ [...] Bonjour, Il n'y a pas de paramètre supplémentaire à ajouter. Il te faut simplement - dans le gestionnaire de souirces de données - reparamétrer l'URL de la source de données, et la faire pointer sur ton classeur réseau en le sélectionnant dans l'explorateur, de la même manière que pour un classeur local. J'ean-Claude [...] Tout aller trés bien jusqu'à ce que j'essai d'utiliser mes fichiers en réseau depuis un autre poste. Maintenant dans la case j'ai source de données inconnue, alors que cela marche trés bien sur mon pc où sont implantés les fichiers. [...] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Retour sur fonction CalcSQL2
Ok merci pour ces infos Je vais testé ton code pour voir. @+ Arnaud [.] 1) Oui, dans le 1er onglet 2) Sur tous les PC, la source de données doit être définie (à la main ou par macro, mais c'est une autre histoire... pas du tout compliquée, mais plus longue à expliquer ), le nom de la source de données doit être absolument identique (orthographe et casse identiques). Si ce n'est pas le cas, pour que ton classeur fonctionne il va falloir adpater la formule du classeur sur chaque PC pour la mettre en rapport avec le nom exact de la source de données sur ce PC (ce qui revient au même, mais en plus compliqué et moins cohérent ;- 3) Je n'ai pas bien saisi l'utilisation de l'onglet Liens, mais tu n'en as à priori pas besoin Je joint quand même ci dessous un exemple de code qui crée - si besoin - une source de données avec pour nom le contenu de la variable globale NomSource (Ex : MaSource), et le classeur situé - sur un réseau - à l'endroit URLSource (Ex : sdbc:calc:file:///J:/AEH/JCD/Sauvegardes/Toto.sxw). Cette fonction peut être appelé à l'ouverture du classeur et ainsi créer automatiquement la source si elle n'est pas présente. Jean-Claude [...] Tu parles de reparametrer l'URL de la source de donnée, je suppose que c'est dans le premier onglet du gestionnaire. J'ai donc depuis un autre poste était cherché la source de données mais pour que cela soit pris en compte, il faut que je la déclare comme nouvelle source de données sur le poste ou je suis avec le même nom que sur le poste d'origine pour que le requête soit comprise. Où alors faut-il également faire un lien dans le dernier onglet du gestionnaire de source de données [...] Function Creation_Source_De_Donnees() As Boolean dim oContext as object dim oSource as object dim Reponse as string On Error Goto ErrorHandler oContext = createUnoService(com.sun.star.sdb.DatabaseContext) 'Test si la source de données existe Reponse = oContext.hasByName(NomSource) If Reponse = False Then 'Création de la source de données oSource = oContext.createInstance oContext.registerObject(NomSource, oSource) oSource.URL = URLSOurce End If Creation_Source_De_Donnees = True Goto Exit_Here Exit_False: Exit Function Exit_Here: Exit Function ErrorHandler: MsgBox Creation_Source_De_Donnees Erreur Err : Error$ (Ligne N° Erl ), sbCritical + sbOkOnly, Titre_Appli On Error Goto 0 Goto Exit_False End Function - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Aide sur fonction CalcSQL2
Bonjour à tous, Afin de mettre à jour des données par une requête, j'ai souhaité utilisé la fonction CalcSQL2 (page 635 du livre de programmation, également disponible en ligne http://fr.openoffice.org/Documentation/Macros/RapportCalcSQL.sxw) afin d'importer directement les résultats d'une réquête. J'ai crée une source de données "ESSAI" en passant par le menu "Outils / Sources de données ", cette source de données est de type calc, J'ai crée une réquête dans cette source de données nommées "RQ1", Dans mon fichier, dans la case D7 de la feuille3où doit arriver le résultat de la fonction, j'ai tapé les arguments suivant: =CALCSQL2("NomFeuille";""CelluleCible""SourceDeDonnees";"select * from LaTable where LeChamp=" QUOTE(A14)) feuille3 = nom de la feuille où sera affiché le résultat D7 = référence de la cellule ou cellule cible ESSAI = Source de données RQ1 = select ou requête ce qui me donne =CALCSQL2("feuille3";"D7";"ESSAI";"RQ1") Le résultat obtenu est le suivant: boite de dialogue avec le message suivant: "there is no table with given name "RQ1", lorsque je clique sur Ok, j'ai ceci qui s'affiche dans la cellule: Ok - MaJ feuille3 - D7. Ma question est: faut-il aussi insérer les arguments dans la fonction dans la module basic ? J'ai regardé un peu mais je dois dire que je n'ai pas tout compris. Merci d'avance pour votre aide Bonne journée
Re: [prog] Retour sur fonction CalcSQL2
Désolé mais rien à faire, enregistrement, recalcul rien ne marche. Même en faisant F4 pour voir le module des sources de données, quand je clique sur actualiser les infos elles ne sont pas mis à jour. @+ Bonjour Arnaud, Mon probléme suivant vient de la mise à jour des données. Les données du fichier source ont changé mais quand j'ouvre le fichier de destination, rien, les données sont les mêmes qu'avant, il n'y a aucune mise à jour qui s'effectue. Est-ce normal ? J'ai essayé en assignant la fonction au démarrage du document mais cela me renvoi une erreur dans le module Basic, je pense qu'il faut forcer le recalcul de la feuille Laurent -- Laurent Godard [EMAIL PROTECTED] - Ingénierie OpenOffice.org Indesko http://www.indesko.com Nuxeo CPS http://www.nuxeo.com - http://www.cps-project.org Livre Programmation OpenOffice.org, Eyrolles 2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Liaisons entre fichiers par macro
Bonjour à tous, Une petite question, j'ai un fichier de 12 feuilles (une par mois de l'année) contenant des données issues de 12 fichiers (un par mois de l'année) , lors de l'ouverture de ce fichier toutes les liaisons se mettent à jour en même temps (pour l'instant j'ai laissé la mise à jour automatique se faire). Ma question est la suivante: Peut-on associer la mise à jour à une macro de maniére à ne mettre à jour que la feuille que l'on souhaite consulter ? J'ai essayé de faire quelque chose par l'enregistreur de macro mais pour l'instant impossible d'aller plus loin que l'apparition de la boite de dialogue de mise à jour des liens (menu Edition/Liens) Merci d'avance pour réponses Bonne journée @+ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog]Trouver_la_derni�re_cellule_vide_d'une_colonne
Bonjour, J'ai cherché à adapter la macro pour la selection de la cellule vide mais pour l'instant je sèche lamentablement, surtout que la selection que je cherche à faire se trouve dans une autre feuille. Si quelqu'un avait une idée, je suis preneur merci d'avance @+ - Message d'origine - De : [EMAIL PROTECTED] À : prog@fr.openoffice.org Envoyé : mardi 31 mai 2005 09:25 Objet : RE: [prog]Trouver_la_dernière_cellule_vide_d'une_colonne Avec l'utilisation des 2 fonctions transmises hier, le N° de la 1ère ligne vide de la colonne A de la 1ère feuille est obtenu ainsi : FirstLigneVide = ThisComponent.Sheets(0).getCellByPosition( 0, lGetLastLigFromCell(A1)) + 1 et La sélection de la cellule vide s'effectue ainsi : ThisComponent.CurrentController.Select( ThisComponent.Sheets(0).getCellByPosition( 0, FirstLigneVide)) C'est aussi facile que d'utiliser le End(xlup). Jean-Claude -Message d'origine- De : Arnaud POUSSIER [mailto:[EMAIL PROTECTED] Envoyé : mardi 31 mai 2005 09:09 À : prog@fr.openoffice.org Objet : Re: [prog]Trouver_la_dernière_cellule_vide_d'une_colonne Bonjour à tous, C'est pour moi que tu avais déjà donné ce début de piste et voilà la macro que j'en ai sorti: Explication: Depuis la feuille principale de mon classeur, je voualis aller à la premiére cellule non remplie d'une colonne située sur une autre feuille. La variante qui est ici c'est que la macro permet d'aller à la derniére cellule remplie, comme Superfan je voulais quelque chose d'équivalent à End(xlUp), mais pour l'instant rien de mieux. Bonne journée @+ Bonjour à tous, Le problème que j'ai est le suivant : J'ai deux colonnes (A et B), dans ces colonnes je recopie par macro des données en me positionnant sur la dernière cellule vide de la colonne A. Cette cellule vide n'est pas obligatoirement la cellule active par défaut. Les données que je suis amené à recopier varient en longueur (d'une ligne à plusieurs sur les 2 colonnes A et B). L'équivalent chez MS pour le tableur est End(xlUp). Comment peut on faire dans OpenOffice, j'ai essayé sans trouver. Merci par avance. _ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]