Majuscule automatique à la frappe

Signaler
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021
-
Messages postés
10019
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
1 août 2021
-
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

Messages postés
24146
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
30 juillet 2021
6 848
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
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021

Merci Eric!
Si personne ne me propose une solution technique, j'utiliserai ta "ruse"!
Messages postés
24146
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
30 juillet 2021
6 848
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
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021

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
Messages postés
790
Date d'inscription
dimanche 15 novembre 2015
Statut
Membre
Dernière intervention
16 juillet 2021
143 >
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021

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
Messages postés
24146
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
30 juillet 2021
6 848 >
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021

Faut-il préciser qu'il faut lire les explications ?
Sélectionne toutes les cellules concernées et nomme la plage coches
eric
Messages postés
790
Date d'inscription
dimanche 15 novembre 2015
Statut
Membre
Dernière intervention
16 juillet 2021
143
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
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021

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.
Messages postés
1871
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
1 août 2021
612
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
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021

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! ;-)
Messages postés
1871
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
1 août 2021
612 >
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021

Bonjour Frank,

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

=MAJUSCULE("a")
donnera A
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021
>
Messages postés
1871
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
1 août 2021

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.
Messages postés
1871
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
1 août 2021
612 >
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021

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) ?
Messages postés
39
Date d'inscription
dimanche 7 juin 2020
Statut
Membre
Dernière intervention
7 juillet 2021

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
Messages postés
10019
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
1 août 2021
2 168
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