Majuscule automatique à la frappe

Fermé
Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022 - 5 juil. 2021 à 17:08
ccm81 Messages postés 10510 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 8 décembre 2022 - 8 juil. 2021 à 14:31
Bonjour, je souhaite faire en sorte que lorsqu'on frappe du texte celui-ci s'affiche en majuscule.
J'ai commencé à utiliser la solution de The_boss_68 (https://forums.commentcamarche.net/forum/affich-34372469-mettre-en-majuscule-automatiquement-une-saisie-excel#answers) mais il faut obligatoirement cliquer sur le bouton.
De plus les cellules concernées sont éparpillées dans la feuille (il s'agit d'une liste de courses avec des cases dans lesquelles je mets ou non une croix (un "X") suivant les besoins).
J'en profite pour demander également quelle est la syntaxe pour indiquer plusieurs cellules ou plages de cellules dans cette liste du script:
For Each maj In [a2:b100] 'plage a traitée
Maintenant si une solution existe pour un affichage automatique en majuscule sans bouton ni script, j'aimerais autant.
Merci pour votre aide!


Configuration: Windows / Firefox 89.0

6 réponses

eriiic Messages postés 24468 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 6 décembre 2022 7 145
5 juil. 2021 à 17:36
Bonjour,

tu peux utiliser une police qui n'a que des majuscules.
Regarde si tu as sur ton PC, ou tu peux en trouver ici : https://fr.allfont.net/capital/
eric
1
Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022
7 juil. 2021 à 01:45
Merci Eric!
Si personne ne me propose une solution technique, j'utiliserai ta "ruse"!
0
eriiic Messages postés 24468 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 6 décembre 2022 7 145
Modifié le 7 juil. 2021 à 06:56
Bonjour,

Ah ben c'est toi qui avais demandé sans bouton ni script de préférence.

Sinon avec une petite macro.
Sélectionne toutes les cellules concernées et nomme la plage coches
Si tu modifies ta feuille, tu n'auras que ce nom à reprendre.

Dans le module de la feuille :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, [coches]) Is Nothing Then
        Cancel = True
        Target.Value = IIf(Target = "", "X", "")
    End If
End Sub

Un double-clic dans les cellules alterne entre un X et vide
https://www.cjoint.com/c/KGheY7fEALD
eric

En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
1
Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022
7 juil. 2021 à 19:27
Extra!
Je n'étais pas du tout contre un script. C'est le bouton qui ne me plaisait pas vraiment...
Bon, j'écris extra mais j'ai quand même un petit souci: cela fonctionne très bien sur la 1ere cellule mais pas sur les suivantes.
Et d'ailleurs, dans ton fichier, j'ai essayé qu'une cellule "non concernée" à la base (sans fond bleu) et je n'arrive pas à obtenir un X affichable ou non...
Je reconnais en toute humilité que je suis un total novice en VBA!
Par ailleurs, je voudrais une précision sur la fenêtre contenant le script. Le code est précédé de la mention "Option Explicit" suivi d'un trait.
Comment obtiens tu cela et quelle est son utilité?

Merci à toi
0
The_boss_68 Messages postés 839 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 9 décembre 2022 159 > Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022
7 juil. 2021 à 20:49
Bonsoir,

Ci joint un code VBA que j'ai sous le coude qui permet un X majuscule dans une plage donnée par double clic

https://mon-partage.fr/f/KQvJwol3/

Slts
0
eriiic Messages postés 24468 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 6 décembre 2022 7 145 > Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022
8 juil. 2021 à 00:14
Faut-il préciser qu'il faut lire les explications ?
Sélectionne toutes les cellules concernées et nomme la plage coches
eric
0
The_boss_68 Messages postés 839 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 9 décembre 2022 159
5 juil. 2021 à 20:47
Bonsoir,

la solution d'eriiic est au top

Sinon

Dans quelles cellules ou plages faut-ils mettre automatiquement les majuscules.
les mots sont en majuscules complets ou uniquement la première lettre

Slts
0
Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022
7 juil. 2021 à 01:37
Salut The Boss!
Il n'y a qu'une lettre: un X dans les cases en face des produits afin de notifier qu'il faut racheter le produit en question.
0
meuhlol Messages postés 1879 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 672
Modifié le 7 juil. 2021 à 03:10
Vu qu'il te faut que le "X" tu peux faire comme ça :
Tu vas dans Fichier > Options > Vérification > Options de correction automatique... > Correction automatique
Dans le champ "Remplacer : " tu mets "x" minuscule. Dans le champ "Par : " tu mets un "X" majuscule. Tu cliques sur "Ajouter". Tu valides.


[EDiT]
Sinon dans une des cases tu mets la formule
=MAJUSCULE("x")

tu valides avec la touche Entrée.
Ensuite tu sélectionnes ta cellule, tu fais Ctrl+C pour copier et tu fais Ctrl+V dans chaque cellule où t'as besoin du X majuscule lol
0
Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022
7 juil. 2021 à 11:27
Bonjour Meuhlol,
concernant ta première solution, je pense que ce changement va affecter tous les documents excel et quand bien il ne concernerait que celui sur lequel je souhaite de l'aide, tous les "x" vont devenir des "X".
Pour ta 2e idée, je rencontre un problème car si je rentre ta formule elle est remplacée par la lettre que je vais entrer ensuite...
Pas simple tout ça! ;-)
0
meuhlol Messages postés 1879 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 672 > Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022
7 juil. 2021 à 11:49
Bonjour Frank,

Bah la fonction MAJUSCULE va écrire ce que tu lui indiques en majuscules.
Exemple :
=MAJUSCULE("Frank")
donnera FRANK

=MAJUSCULE("a")
donnera A
0
Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022 > meuhlol Messages postés 1879 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021
7 juil. 2021 à 19:08
peut être que je ne comprends vraiment rien, mais si je rentre dans une cellule (une "case" qui suit le nom d'un produit) la formule =MAJUSCULE("x"), un X majuscule s'affiche. Mais je n'ai peut être pas besoin d'acheter ce produit donc je ne veux pas le cocher.
Donc si je dois entrer la formule quand je veux mettre un X majuscule, indiquant que je dois acheter le produit concerné, autant que je fasse shift+x.
0
meuhlol Messages postés 1879 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 672 > Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022
8 juil. 2021 à 08:27
Bonjour Frank,

Si t'as besoin de cases à cocher, au lieu d'utiliser les X pourquoi ne pas insérer les cases à cocher (menu Développeur > insérer > Contrôles de formulaire > Case à cocher) ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Frank85000 Messages postés 54 Date d'inscription dimanche 7 juin 2020 Statut Membre Dernière intervention 28 novembre 2022
Modifié le 7 juil. 2021 à 13:35
Extra!
Je n'étais pas du tout contre un script. C'est le bouton qui ne me plaisait pas vraiment...
Bon, j'écris extra mais j'ai quand même un petit souci: cela fonctionne très bien sur la 1ere cellule mais pas sur les suivantes.
Et d'ailleurs, dans ton fichier, j'ai essayé qu'une cellule "non concernée" à la base (sans fond bleu) et je n'arrive pas à obtenir un X affichable ou non...
Je reconnais en toute humilité que je suis un total novice en VBA!
Par ailleurs, je voudrais une précision sur la fenêtre contenant le script. Le code est précédé de la mention "Option Explicit" suivi d'un trait.
Comment obtiens tu cela et quelle est son utilité?

Merci à toi
0
ccm81 Messages postés 10510 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 8 décembre 2022 2 330
8 juil. 2021 à 14:31
Bonjour à tous

Il n'y a qu'une lettre: un X dans les cases en face des produits afin de notifier qu'il faut racheter le produit en question.
Peut être une liste de validation/ choisir Liste et ne mettre que X dans la liste

Cdlmnt
0