Saisie majuscules-minuscules automatique

Fermé
deanerys Messages postés 82 Date d'inscription jeudi 27 septembre 2018 Statut Membre Dernière intervention 30 novembre 2019 - Modifié le 4 oct. 2018 à 12:12
deanerys Messages postés 82 Date d'inscription jeudi 27 septembre 2018 Statut Membre Dernière intervention 30 novembre 2019 - 8 oct. 2018 à 09:51
Bonjour,

J'ai besoin de vos lucioles les amis svp encore une fois pour, dans une cellule ou plusieurs cellules à la fois :
- Forcer la saisie d'un texte en majuscule
- Forcer la saisie d'un texte en minuscule
- Forcer la saisie de la première lettre du premier mot d'un texte en majuscule
- Forcer la saisie de la première lettre d'un mot d'un texte, se situant après un point, en majuscule
- Forcer la saisie de la première lettre d'un nom propre en majuscule

J'aimerai ne pas passer par "validation des données" car ça oblige l'utilisateur de ressaisir pour corriger.
Existe-t-il une méthode qui paramètre tout ça, sans que l'utilisateur ne se souci de son mode d'écriture ?

Par exemple si dans la cellule A1 je souhaite qu' un texte ou un mot apparaisse en majuscule dès sa saisie et que l'utilisateur ne le sache pas et écrive donc en minuscule, le texte se transforme ou se converti automatiquement en majuscule sans gêner l'utilisateur.
Je souhaite que l'utilisateur ne se soucis pas si à tel endroit il faut écrire en majuscule, à un autre en minuscule, ou si après un point il faut mettre une majuscule. Que ça corrige pour lui le format.

Je n'ai pas de fichier pour l'instant.

Merci à tous :)

4 réponses

didibonf Messages postés 419 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 21 mai 2019 96
2 oct. 2018 à 10:28
Bonjour,
Une macro devrait pouvoir t’aider :
par exemple dans Feuil1 :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(1, 1).Value = UCase(Cells(1, 1))
End Sub


Le texte en A1 sera automatiquement transformé en majuscule.
LCase tranformera en minuscule.
1
deanerys Messages postés 82 Date d'inscription jeudi 27 septembre 2018 Statut Membre Dernière intervention 30 novembre 2019
2 oct. 2018 à 15:16
Bonjour,

Pardon mais je ne sais pas du tout où aller ? Dois rentrer : Private Sub wor... dans la cellule ?
Dois-je appuyer sur l'onglet macro j'ai vu qu'il y en avait un.

Je suis novice dans excel. Pourrais-je avoir un peu plus d'explications svp. :) excusez-moi.
0
didibonf Messages postés 419 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 21 mai 2019 96
2 oct. 2018 à 15:32
Tu peux faire alt+F11 pour accéder à l’éditeur VBA. Puis dans le panneau à gauche, tu as la liste des feuilles du classeur. Tu vas dans la feuille souhaitée. Dans le bandeau en haut, il y a deux listes déroulantes. À gauche à la place de (Général), tu choisis Worksheet et SélectionChange à droite.
Tu colle le code dans la zone blanche en dessous.
Dans le code, cells(1,1) correspond à la cellule A1, tu peux adapter : cells(1,2) correspond à B1
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
2 oct. 2018 à 16:14
Bonjour,

et pour compléter la réponse dedidibonf mettre la 1ère lettre d'un mot en majuscule:

https://www.excel-easy.com/vba/examples/convert-to-proper-case.html

@+ Le Pivert
0
deanerys Messages postés 82 Date d'inscription jeudi 27 septembre 2018 Statut Membre Dernière intervention 30 novembre 2019
3 oct. 2018 à 08:10
Merci à tous je vais essayer :) je reviens vous dire si j'ai bien fait
0
deanerys Messages postés 82 Date d'inscription jeudi 27 septembre 2018 Statut Membre Dernière intervention 30 novembre 2019
3 oct. 2018 à 08:18
Bonjour,

Je n'y arrive pas j'ai trouvé VBA mais j'ai pas comme vous dîtes, je suis sur mac.



0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié le 2 oct. 2018 à 11:51
Bonjour Feanerys, Dididonf

Comment veux tu qu'Excel sache ce que tu veux faire ? il faut bien que tu lui transmettes ton ordre

1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
2 oct. 2018 à 11:50
peut-être avec un clic droit de la souris ???

un exemple que tu pourrais adapter:
https://mon-partage.fr/f/O6nIWqA0/
0
deanerys Messages postés 82 Date d'inscription jeudi 27 septembre 2018 Statut Membre Dernière intervention 30 novembre 2019
3 oct. 2018 à 16:53
Non ça fonctionne pas non plus dsl
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
4 oct. 2018 à 08:43
n'importe quoi !

Adieu
0
deanerys Messages postés 82 Date d'inscription jeudi 27 septembre 2018 Statut Membre Dernière intervention 30 novembre 2019
4 oct. 2018 à 10:30
J'ai fait cli droit, rien ne se passe sur la feuille ????
0
jean300 Messages postés 374 Date d'inscription jeudi 11 août 2016 Statut Membre Dernière intervention 13 janvier 2020 14
6 oct. 2018 à 11:23
Bonjour à tous,
Un code à adapter
Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False 'pour éviter de relancer alors qu'on modifie
' première lettre en majuscule
If Target.Address = "$J$14" Then [J14] = LCase([J14]): GoTo fin
If Target.Address = "$A$30" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$A$35" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$A$38" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$G$25" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$K$4" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$K$7" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$K$50" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$K$53" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$S$22" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$S$10" Then Target = Application.Proper(Target): GoTo fin
If Target.Address = "$S$19" Then Target = Application.Proper(Target): GoTo fin

' tout en majuscule
Select Case Target.Address(0, 0)
Case "A4, K4"
Target.Value = UCase(Target.Text) 'j'utilise la propriété text
End Select

fin:
Application.EnableEvents = True 'on remet

If IsEmpty(Range("Y47")) Then
Range("Y47").Value = Date
End If
End Sub
1
deanerys Messages postés 82 Date d'inscription jeudi 27 septembre 2018 Statut Membre Dernière intervention 30 novembre 2019
8 oct. 2018 à 09:51
Merci j'attends un réparateur car rentrer des macros sur excel ça ne fonctionne pas.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
2 oct. 2018 à 16:24
Excusez moi d'avoir dérangé en essayant d'aider Deanerys. Mais, c'est promis, je ne le gênerai plus.
0
deanerys Messages postés 82 Date d'inscription jeudi 27 septembre 2018 Statut Membre Dernière intervention 30 novembre 2019
3 oct. 2018 à 08:09
Non non vous ne m'avez pas dérangez pourquoi dîtes vous cela ?
0