Bonjour,
Je voudrait qu'au lancement de mon UserForm le clavier se mette en majuscule et quand je sort redeviens en minuscule
il y a bien la fonction Ucase mais ça répond pas forcement à mon attente.
Merci de votre aide.
Bonjour,
Je voudrait qu'au lancement de mon UserForm le clavier se mette en majuscule et quand je sort redeviens en minuscule
il y a bien la fonction Ucase mais ça répond pas forcement à mon attente.
Merci de votre aide.
Bonjour
Cela ne se fait qu'en passant par une fonction de l'Api de Windows, ce qui est quelque peu démesuré.
Il est vraisemblable qu'une explication précise détaillée des tenants et aboutissants (de tes besoins) conduira à une solution moins "lourde".
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
J'ai un UserForm avec plein de TextBox à remplir.
C'est TextBox me permette de crée des dossiers, remplir des fichiers et certaines de ces valeurs sont stocker dans des variables pour utilisation plus loin dans le code.
Et comme toutes les information que je doit remplir doivent être en majuscule, c'est pour ça que je voulais savoir si c'était possible. Si vous me dite qu'il y a plus simple je suis complétement preneur.
Merci
Je m'en doutais un peu
regarde ce que fait ceci (exemple)
Que je préfère personnellement à cette autre solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub TextBox1_Change() TextBox1.Text = UCase(TextBox1.Text) End Sub
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
Y as-t-il un moyen de le généraliser d'un coup à tous les TextBox?
Je n'ai pas que tu texte dans les TextBox j'ai aussi des valeurs numérique
Oui ? -->> il se trouve que les chiffres sont les mêmes en minuscule et en majusculeJe n'ai pas que tu texte dans les TextBox j'ai aussi des valeurs numérique
Pour le reste (appliquer une procédure évènementielle à plusieurs textboxes) -->> il te faut alors passer par un module de classe. Cela s'apprend et tu as pour apprendre cela un didacticiel sur ce forum.
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
Cordialement,
Patrice
Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.
Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur
Peut tu m'indiquer où je pourrais trouver ce didacticiel. Merci
Bonjour Nico451
Si j'ai bien compris la question cela devrait suffire :
A condition que le pavé numérique soit déverrouillé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub UserForm_Activate() SendKeys "{NUMLOCK}", False End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) SendKeys "{NUMLOCK}", True End Sub
tu veux de la lecture ? -->>Peut tu m'indiquer où je pourrais trouver ce didacticiel. Merci
En voilà
https://tissotemmanuel.developpez.co...les-de-classe/
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
modus57 : C'est pas le pavé numérique c'est le capLock que je veux activer pour que mon texte soit en Majuscule
Peut-être en remplacement tout simplement "Numlock" par "CapLock"
Merci, c'est ce que j'ai fait.
Mais maintenant j'ai des problèmes supplémentaires :
1) Quand je valide un textbox je fait apparaître un Frame avec des textbox. Le souci est que quand je veux valider la première textbox, je ne peux pas passer à la suivante.
2) J'ai un souci aléatoire. Je m'explique. Avec cette fonction je suis en majuscule et le contrôle sur le clavier le caplock n'est pas activé. Quand j'appuie sur caplock je suis en minuscule.
3) Je boss avec un ordi portable, mais j'utilise de temps en temps un clavier externe avec un pavé numérique. Le souci, est que quand je lance mon UserForm le pavé numérique ce désactive.
4) Comme je suis en court de programmation, de temps à autre mon programme plante. Donc le Caplock est toujours actif, mais quand j'ecrit dasn mon UserForm je suis en minuscule.
Je pense que le problème est que l'ordi garde en mémoire les paramètres, et comme je relance il fait l'inverse. Il faudrait que tous les paramètres redevienne normal dans tous les cas (beug, sortie avant d'avoir fini, etc...)
Merci de votre aide.
Cette manoeuvre de transformation de l'état du clavier est et sera toujours plutôt scabreuse.
Je comprends que les modules de classe peuvent te paraître compliqués.
Tu peux l'éviter si le nombre de tes textboxes concernées est relativement faible.
Combien en as-tu, concernées par cette mise en majuscule ?
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
unparia : Pour le moment 8 textBox pour les majuscules sur les 19 que j'ai.
Sur les 19, j'ai 2 textbox pour la date, le reste c'est des valeurs numérique
Ni les dates, ni les nombres ne sont dotés de caractères subissant la casse...Sur les 19, j'ai 2 textbox pour la date, le reste c'est des valeurs numérique
tu n'as donc QUE 8 textboxes concernées par l'imposition de saisie en lettres majuscules ?
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
unparia : Oui pour le moment que 8 TextBox. Sur les 8 j'ai 4 TextBox oui j'ai des lettres qui doivent être en majuscule avec des chiffres et des -. C'est des références pour ces 4 TextBox.
Bon ...
Je ne comprends rien à tes nombres de textboxes concernées.
Peu importe:
mets ceci dans l'évènement keypress de chacune de celles concernées par l'imposition en majuscules :
et crée cette procédure toto --->>
Code : Sélectionner tout - Visualiser dans une fenêtre à part toto keyascii
cela suffira.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub toto(ByRef KA As MSForms.ReturnInteger) KA = Asc(UCase(Chr(KA))) End Sub
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Bonsoir Pierre : D'accord pour ne pas modifier le clavier par API ou autre. Mais y as-t-il une solution acceptable?
unparia : Je vais essayer
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager