[Résolu][Base] Saisie de champ en majuscules

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[Résolu][Base] Saisie de champ en majuscules

Messagepar niuxe » 29 Juil 2019 22:36

Bonjour tout le monde,

Je suis en train de me créer une petite base de données via base. Je rencontre quelques soucis. Là pour un champ, j'aimerai que la saisie soit en majuscule. Lorsque j'édite le formulaire, que j'édite le champ en question (panneau contrôle), je vais dans l'onglet "événements" et je sélectionne "à la perte du focus", je vais chercher une macro :

[url=h**ps://www.noelshack.com/2019-31-1-1564435905-capture-d-ecran-de-2019-07-29-23-31-12.png][img]h**ps://image.noelshack.com/minis/2019/31/1/1564435905-capture-d-ecran-de-2019-07-29-23-31-12.png[/img][/url].

La modération a écrit:Pas d'image hébergée en dehors du forum : veuillez utiliser notre service de PJ.


Je la sélectionne et je teste. Mais voilà, elle n'a pas l'aire de fonctionner.

J'ai cherché sur le forum et je suis tombé sur ce sujet : viewtopic.php?f=8&t=46492&hilit=Base+Majuscule#p252579

Le souci étant que je ne sais pas comment installer cette macro. Aussi, je pense devoir en créer pour moi (un peu plus tard). J'ai vu que les langages acceptées sont entres autres le Javascript et le Python. Ça tombe bien, je connais assez bien ces langages.

Si vous pouvez me donner un petit coup de main ce serait bien sympa.

Bonne journée.
Opensuse LEAP 15.0 / Libreoffice 6.1.5.2
niuxe
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 29 Juil 2019 22:08

Re: insérer une macro de manière permanente

Messagepar Bidouille » 30 Juil 2019 07:51

Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.

Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche. Avez-vous remarqué comment étaient les autres questions postées ?

Lisez ce fil pour savoir quelle balise utiliser : http://forum.openoffice.org/fr/forum/su ... html#27295

N'oubliez pas que le terme "Macro" ou "OpenOffice" ne doit pas être employé car il est implicite. Essayer de synthétiser au mieux ce que vous cherchez à faire.

Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.

Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 10266
Inscrit le : 08 Nov 2005 17:23
Localisation : Brest, France

Re: [Base] Saisie de champ en majuscules

Messagepar jeanmimi » 30 Juil 2019 09:13

Bonjour,
niuxe a écrit:Je la sélectionne et je teste. Mais voilà, elle n'a pas l'aire de fonctionner.

Dans le sujet dont tu donnes le lien, la Macro est activée par "Avant actualisation" et non pas par "A la perte du focus".
LibreOffice Version : Version: 6.3.4 (x64) (15 décembre 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 15132
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: [Base] Saisie de champ en majuscules

Messagepar Hubert Lambert » 30 Juil 2019 09:35

Bonjour,

Ci-joint un petit exemple.
Les macros python, associées à l'événement "Avant actualisation" :
Code : Tout sélectionner   AgrandirRéduire
def nom_en_maj(event):
    source = event.Source
    source
.Text = source.CurrentValue.upper()

def prenom_en_cap(event):
    source = event.Source
    source
.Text = source.CurrentValue.title() 

Cordialement.
Pièces jointes
niuxe.odb
(12.13 Kio) Téléchargé 15 fois
AOOo 4.1.2 sur Win7
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
 
Message(s) : 1146
Inscrit le : 06 Avr 2016 08:26

Re: [Base] Saisie de champ en majuscules

Messagepar plonge » 31 Juil 2019 06:33

Bonjour,
Pour passer le texte frappé dans un champ en majuscule quelque soit son écriture.
Code : Tout sélectionner   AgrandirRéduire
Sub NomEnMaj   'passe le nom en majuscule quelque soit son écriture
Dim Ctl1 As String
Dim monCtrl1 As Object, oForm As Object
   maConnexion = ThisDatabasedocument.CurrentController.ActiveConnection
   Statement = maConnexion.createStatement()   
   oForm = ThisComponent.DrawPage.Forms.getByName("Mon_Formulaire")
   monCtrl1 = oForm.getByName("Mon_Champ")
   Ctl1 = monCtrl1.Text
   Ctl1 = Ucase(Ctl1)
   monCtrl1.Text = Ctl1
   monCtrl1.commit
End Sub

A affecter à l'événement "Modifié" du champ concerné.
Cordialement
LO version 6282 sous windows 10 standard, java 1.8.0_231
plonge
Membre cOOnfirmé
Membre cOOnfirmé
 
Message(s) : 272
Inscrit le : 09 Sep 2010 20:06


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 4 invité(s)