Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/10/2011, 16h09   #1
Membre régulier
 
Inscription : mai 2004
Messages : 337
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 337
Points : 90
Points : 90
Par défaut afficher la saisie en majuscule indépendamment de la touche "Maj"

Bonjour,

Je développe avec Access 2003 sous Windows XP Pro.
J'ai une zone de texte indépendante, je voudrais que ma saisie s'affiche en majuscule indépendamment de la touche "Maj".
J'ai essayé avec la commande "UCASE" dans l'évènement "Change".
Mais le problème est qu'à chaque saisie, le curseur de la souris revient au début, il faudrait qu'il se positionne à la fin du dernier caractère saisie.

Si quelqu'un à une idée, je suis preneur.
Merci

Willy
willytito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 16h47   #2
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 937
Points : 9 937
Envoyer un message via Skype™ à Domi2
Bonjour,

Tu pourrais utiliser l'événement Après MAJ de ta zone de texte. Tant que tu saisis des caractères, ils restent en minuscules et quand tu quittes ta zone de texte, ils sont convertis en majuscules.

A moins que tu aies une contrainte particulière au niveau de ta saisie.

A tester :

Code :
1
2
3
4
5
6
7
Private Sub Texte1_Change()
 
    Me.Texte1.Text = UCase(Me.Texte1.Text)
 
    Screen.ActiveControl.SelStart = Len(Screen.ActiveControl)
 
End Sub
Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 17h31   #3
Membre régulier
 
Inscription : mai 2004
Messages : 337
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 337
Points : 90
Points : 90
Par défaut Complément

Merci,

J'ai comme contrainte : majuscule pendant la saisie.
Donc, je vais essayer le code dans l'évènement change.

Willy
willytito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 17h49   #4
Membre régulier
 
Inscription : mai 2004
Messages : 337
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 337
Points : 90
Points : 90
Par défaut après avoir testé

J'ai testé le code.
Il y a encore un petit souci.
Il ne tient pas compte des espaces.
Si je tape "test test" il m'affiche "TESTTEST"

Si quelqu'un a une idée, je suis preneur.
Merci
willytito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 20h24   #5
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 937
Points : 9 937
Envoyer un message via Skype™ à Domi2
Effectivement, l'espace est sans effet.

Alors dans la propriété "Masque de saisie" de la zone de texte, tu mets ">CCCCCCCCCCCCCCCCCCCCCCCC", la lettre "C" représentant le nombre maximum de caractères souhaités.

Pour plus de précision sur les possibilités, cliquer dans la zone "Masque" de saisie et F1.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 22h36   #6
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 939
Points : 7 939
bjr,

http://support.microsoft.com/kb/209520

Citation:
Private Sub CompanyName_KeyPress(KeyAscii As Integer)

KeyAscii = Asc(UCase(Chr(KeyAscii)))

End Sub
ça a l'air de bien marcher
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/10/2011, 13h42   #7
Membre régulier
 
Inscription : mai 2004
Messages : 337
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 337
Points : 90
Points : 90
Par défaut propriété masque de saisie

Merci à tous,
J'ai testé la propriété : Masque de saisie
ça fonctionne mais le nombre maximum de caractère étant inconnu.
Pour m'éviter de mettre "CCCCCCC...." existe-t-il un moyen de dire "C à l'infini"
si quelqu'un pouvait avoir une dernière petite idée, merci

Willy
willytito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 14h14   #8
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 937
Points : 9 937
Envoyer un message via Skype™ à Domi2
Pourquoi ne pas utiliser le code ?

Ca fonctionne parfaitement bien.
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 15h03   #9
Membre régulier
 
Inscription : mai 2004
Messages : 337
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 337
Points : 90
Points : 90
Par défaut ça fonctionne

Merci d'avoir insisté.
J'ai utilisé le code avec Keypress et ça fonctionne à merveille.
Super !

Willy
willytito est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h00.


 
 
 
 
Partenaires

Hébergement Web