Majuscule automatique à la frappe

Frank85000 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

6 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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 52 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Eric!
Si personne ne me propose une solution technique, j'utiliserai ta "ruse"!
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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

1
Frank85000 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
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 952 Date d'inscription   Statut Membre Dernière intervention   182 > Frank85000 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276 > Frank85000 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
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 952 Date d'inscription   Statut Membre Dernière intervention   182
 
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 52 Date d'inscription   Statut Membre Dernière intervention  
 
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 1896 Date d'inscription   Statut Membre Dernière intervention   673
 
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 52 Date d'inscription   Statut Membre Dernière intervention  
 
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 1896 Date d'inscription   Statut Membre Dernière intervention   673 > Frank85000 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
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 52 Date d'inscription   Statut Membre Dernière intervention   > meuhlol Messages postés 1896 Date d'inscription   Statut Membre Dernière intervention  
 
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 1896 Date d'inscription   Statut Membre Dernière intervention   673 > Frank85000 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 
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 52 Date d'inscription   Statut Membre Dernière intervention  
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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