Comment faire pour avoir un inputbox en majuscule même en tapant des minuscules

Paritec

XLDnaute Barbatruc
Bonjour le forum,
tout est dans le titre mais je répète
j'ai un inputbox et je souhaite saisir en majuscule dedans même si je tape des minuscules
Ucase me transforme le résultat mais pas la saisie
dans l'attente de vos réponses
bonne Fête des Pères
a+
Pascal
 

CBernardT

XLDnaute Barbatruc
Re : Comment faire pour avoir un inputbox en majuscule même en tapant des minuscules

Bonjour Paritec,

Une boîte de dialogue Inputbox, attend que l'utilisateur tape du texte dans le format saisi au clavier donc minuscule ou majuscule, puis renvoie le contenu de la zone de texte sous la forme d'une valeur de type String .

A ma connaissance, il n'y pas de possibilité de l'obliger à transformer les minuscules en majuscules sauf à la restitution du texte saisi.

Une solution est de réaliser dans une userform une zone de texte couplée à une macro évènementielle qui mettra automatiquement en majuscule toute saisie dans cette zone de texte.

Cordialement

Bernard
 

Paritec

XLDnaute Barbatruc
Re : Comment faire pour avoir un inputbox en majuscule même en tapant des minuscules

Bonjour CBernardT le forum,
je me doutais bien que c'était pas possible en direct mais avec excel comme tellement de choses sont possible.
merci quand même
bon dimanche
Papou
 

soenda

XLDnaute Accro
Re : Comment faire pour avoir un inputbox en majuscule même en tapant des minuscules

Bonjour le fil, CBernardT, Paritec

Essaie avec:
Code:
Dim ch As String
 
Private Sub TextBox1_Change()
    TextBox1.Text = ch
End Sub
 
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    ch = ch & UCase(Chr(KeyAscii))
End Sub
A mettre dans le code de ton UserForm.
Il y a sans doute mieux.

A plus
 

Paritec

XLDnaute Barbatruc
Re : Comment faire pour avoir un inputbox en majuscule même en tapant des minuscules

Bonjour Soenda le forum,
Oui merci cela je sais faire, peux tu relire le post ou le titre stp
moi je parle d'un inputbox
merci quand même
a+
Papou
 

Paritec

XLDnaute Barbatruc
Re : Comment faire pour avoir un inputbox en majuscule même en tapant des minuscules

Re Soenda le forum,
pas de soucis toutes façons je n'ai pas espoir que ce soit possible car avant de faire mon post j'ai cherché un peu partout.
Mais comme je le disais avec Excel tellement de choses sont possibles
merci et bonne fêtes des Pères
a+
papou
 

soenda

XLDnaute Accro
Re : Comment faire pour avoir un inputbox en majuscule même en tapant des minuscules

Re,

Peut-être, simuler l'appui sur la touche "Verrouillage Majuscule" si celle-ci est dévérrouillée, avant de "lancer" l'InputBox.
Code:
[COLOR=green]' Déclaration en début de module[/COLOR]
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
 . . .
[COLOR=green]' Ligne à placer dans la Sub, avant d'utiliser InputBox[/COLOR]
If GetKeyState(vbKeyCapital) = False Then SendKeys "{CAPSLOCK}"

A plus

Edition: et pour remettre en minuscule après la saisie (à condition que l'utilisateur n'est pas appuyé sur "Caps Lock" au cours de la saisie), ajouter apres l'InputBox
Code:
SendKeys "{CAPSLOCK}"

Cela ne fait rien de plus que la sub de kjin (post suivant), que je salue au passage. :)

Bon dimanche après-midi
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Comment faire pour avoir un inputbox en majuscule même en tapant des minuscules

Bonjour Papou, Soenda,
Active Majuscule le temps de la saisie puis repasse en minuscule
Code:
Private Declare Function SetKeyboardState Lib "user32" (kbArray As Byte) As Long
Private Declare Function GetKeyboardState Lib "user32" (lpKeyState As Byte) As Long

Sub InputBoxEnMaj()
Dim KeyState(0 To 255) As Byte, q As String
GetKeyboardState KeyState(0)
KeyState(&H14) = 1 'majuscule activée
SetKeyboardState KeyState(0)
q = InputBox("blabla", "blabla")
GetKeyboardState KeyState(0)
KeyState(&H14) = 0 'majuscule désactivée
SetKeyboardState KeyState(0)

End Sub
Papou, je n'ai pas trop eu le temps de regarder ton fichier d'autant que ce que tu demandes et relativement compliqué (si j'ai bien compris !).Je ne suis ici que pour me détendre un peu vu le boulot que j'ai en ce moment !
Postes ta demande sur le forum, tu trouveras sans doute qqu'un qui aura la gentillesse de te répondre
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 480
Messages
2 088 756
Membres
103 947
dernier inscrit
Quentin_sf