Forcer la saisie en minuscules ou en majuscules
Première solution, utiliser la validation de données :
Données/validation.../Options/autoriser: Personnalisé Formule:
=EXACT(A1;MINUSCULE(A1)) (respectivement majuscule ou nompropre pour mettre la première lettre du mot en majuscule et le reste en minuscule)
ou, pour convertir directement les majuscules en minuscules à la sortie de la cellule:
Dans le code événementiel de la feuille en question, soit pour la cellule A1 dans l'exemple (à adapter),
Private sub Worksheet_SelectionChange(ByVal Target As Excel.Range) [a1] = LCase([a1]) (Ucase pour les majuscules, Proper pour les noms propres) end sub
Si tu veux que cette conversion s'effectue sur une plage de cellules, pour les mettre en majuscule Dans le module de la feuille et pour la plage A1:B10 par exemple,
Private sub Worksheet_Change(ByVal zz As Range) If Intersect(zz, [A1:B10]) Is Nothing Then exit sub Application.EnableEvents = False zz = UCase(zz) Application.EnableEvents = True end sub
Les instructions enableevents false puis true sont mises là parceque l'instruction zz = UCase(zz) redéclenche inutilement l'évènement Worksheet_Change donc --> "Application.EnableEvents = False" --> désactive les évènements "zz = UCase(zz)" --> met en majuscule "Application.EnableEvents = True" --> réactive les évènements
Auteurs : Jacky, ChrisV, Alain Vallon
Mots clefs associés à cette page : majuscule, minuscule, nom, propre
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
