Merci Françoise mais mon problème était tout simplement que le nom que
j'avais affecté à mon formulaire principal dans le navigateur de
formulaire ne s'était pas enregistré donc évidemment dans ma macro ça ne
pouvait pas fonctionner.
Le 10/10/2006 11:27, > Françoise (par Internet, dépôt
[EMAIL PROTECTED])
a écrit :
Je te mets tout l'ensemble, si cela peut t'aider :)
'** Renommer les champs des formulaires
************************************
'** ATTENTION : Ne marche pas avec les boutons radio
oForm = thiscomponent.drawpage.Forms.GetByName("Standard")
TabNomChamps=oForm.getElementNames
for i = 0 to ubound(TabNomChamps)
NomChamp=TabNomChamps(i)
oChamp=oForm.GetByName(NomChamp)
if oChamp.Tag<>"" then
if oChamp.name<>oChamp.Tag then oChamp.name=oChamp.Tag & " " &
NumArticle
end if
next
***************************************************************************************
Françoise
/-------Message original-------/
/*De :*/ Françoise <mailto:[EMAIL PROTECTED]>
/*Date :*/ 10/10/2006 11:17:35
/*A :*/ prog@fr.openoffice.org <mailto:prog@fr.openoffice.org>
/*Sujet :*/ [prog] Réf. : Re: [prog] Module base-filtre donnees
Bonjour Roselyne,
Personnellement danspour faire une copie demes contrôles
(formulaire) j'a cecii :
oForm = thiscomponent.drawpage.Forms.GetByName("Standard")
PS: ''Standard" n'est pas le nom de mon fichier
Françoise
/-------Message original-------/
/*De :*/ MORTEVEILLE Roselyne - DDE 44/GER/Voies Rapides
<mailto:[EMAIL PROTECTED]>
/*Date :*/ 10/10/2006 11:06:43
/*A :*/ prog@fr.openoffice.org <mailto:prog@fr.openoffice.org>
/*Sujet :*/ Re: [prog] Module base-filtre donnees
merci pour ta réponse rapide, mais ça ne fonctionne pas. Dommage ! Je
continue à chercher si tu as une idée n'hésite pas à me l'envoyer.
Le 10/10/2006 10:35, > Manuel NAUDIN (par Internet, dépôt
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>)
a écrit :
> Le 10/10/06, MORTEVEILLE Roselyne - DDE 44/GER/Voies Rapides <
> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> a écrit :
>
>> Merci Manuel pour ta réponse, mais après cet arrêt long de travail sur
>> ma base, je recommence.
>> J'ai copié ton modèle de macro pour filtrer mes données dans mon
>> formulaire, et j'ai suivi ta manip.
>> _/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
>> 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 - Copier la macro /
>>
>> _*Sub fabriqueFiltreFormulaire(oEvent As Object)
>> Dim oDataForm As Object
>> Dim strFiltre As String
>> Dim strNomForm As String
>> Dim strNomChamp As String
>>
>> strNomForm = "f_modification_depverte" 'ici, mettre le nom du
>> formulaire principal
>> strNomChamp = "recherche" '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 *
>>
>> /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.
>> /
>> Seulement voilà j'ai un message d'erreur après avoir tapé ma recherche
>> et avoir validé,* l'erreur est sur la ligne oDataForm =
>> thiscomponent.drawpage.Forms.getByName(strNomForm)
>>
>> Runtime error Basic
>> Exception
>> Type:com.sun.star.container.NoSuchElementException
>> Message:.
>> OK *
>>
>> Peux-tu une nouvelle fois m'aider.
>
>
> tu peux essayer de modifier la ligne
>
> oDataForm = thiscomponent.drawpage.Forms.getByName(strNomForm)
>
> en la remplacant par :
>
> oDataForm = CurrentComponent.drawpage.Forms.getByName(strNomForm)
>
> sans garantie, je n'ai pas OOo sous la main pour tester.
>
>> Merci.
>>
>> Roselyne
>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
Des émoticônes GRATUITES pour votre messagerie électronique ? Cliquez
ici ! <http://www.incredimail.com/index.asp?id=97012>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]