XL 2010 Résolu par SI : saisie en MAJUSCULE

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous de bon matin :)

J'ai une question pour le Fun :

Dans mon fichier, nous saisissons des NOMS et prénoms (les NOMS doivent toujours être en MAJUSCULE).
J'ai un code obtenu depuis longtemps sur le net qui fonctionne bien :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("h9:h25")) Is Nothing And Target.Count = 1 Then
    Application.EnableEvents = False
    Target = UCase(Target)
    Application.EnableEvents = True
End If
End Sub

Cependant, à la saisie en position minuscule, évidemment, le code transforme en MAJUSCULE qu'après son exécution.
Est-il possible que l'action du code se fasse au fur et à mesure de la saisie ?

En vous remerciant, je vous souhaite à toutes et à tous un super et beau WE ;)
Amicalement,
Lionel,
 

Pièces jointes

  • Majuscule.xlsm
    13.8 KB · Affichages: 44
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Dans mon fichier, nous saisissons des NOMS et prénoms (les NOMS doivent toujours être en MAJUSCULE).

Cependant, à la saisie en position minuscule, évidemment, le code transforme en MAJUSCULE qu'après son exécution.
Est-il possible que l'action du code se fasse au fur et à mesure de la saisie ?
reste la possibilité de forcer lors de l'activation de la feuille concernée, le clavier en "corbeille haute" (Majuscules), à l'aide d'une API...
et le problème reste le même si certaines saisies doivent être faites en minuscule...
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Modeste, le forum,

Merci d'être là et de m'avoir répondu :)
C'est juste une question de "confort" et pour éviter que mes intervenants "jouent" avec la touche majuscule/minuscule cela entraînant (têtes de linottes que nous sommes LOL), des saisies souvent "bizarres" :confused:

Le code permettant de transformer la saisie en Majuscule dans certaines cellules me va très bien.
Cependant, comme l'écriture en Majuscule ne s'affiche qu'après l'exécution du code, certains ont toujours "tendance" à se mettre en Majuscule ce qui entraîne le souci précédent :mad:

Si ma demande ne peut recevoir qu'une réponse plus contraignante que le petit souci, mieux vaux en rester là LOL.

Encore merci modeste ;)
Bon dimanche à toutes et à tous,
Amicalement,
Lionel,
 

job75

XLDnaute Barbatruc
Bonjour Lionel, chris, DoubleZero, Modeste geedee,

Plutôt que le code du post #1 il vaut peut-être mieux utiliser :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Target, [H9:H25], Me.UsedRange) 'plage à adapter
If r Is Nothing Then Exit Sub
For Each r In r 'si entrées multiples (copier-coller)
  If CStr(r) <> UCase(r) Then r = UCase(r)
Next
End Sub
A+
 

Si...

XLDnaute Barbatruc
Bonsoir
C'est juste une question de "confort" et pour éviter que mes intervenants "jouent" avec la touche majuscule/minuscule cela entraînant (têtes de linottes que nous sommes LOL), des saisies souvent "bizarres"
Cependant, comme l'écriture en Majuscule ne s'affiche qu'après l'exécution du code, certains ont toujours "tendance" à se mettre en Majuscule ce qui entraîne le souci précédent :mad:
Et ainsi ?
 

Pièces jointes

  • Saisie en majuscule.xlsm
    22.3 KB · Affichages: 44

Lone-wolf

XLDnaute Barbatruc
Bonjour chris :)

Ce que je voulais dire par là, au moment où tu rentre en lettre dans une textbox, le changement s'éffectue tout de suite n'est-ce pas? Ce serait bien(si possible) d'en faire de même avec les cellules.

@ Lionel: une proposition sans textbox. l'inconvénient c'est qu'il faut utiliser TAB à chaque lettre entrée et faire attention à éffacer le texte qui reprend celui des cellules précédentes. Pour vider la variable temp, place le curseur sur la cellule vide et utilise TAB.
 

Pièces jointes

  • Classeur-test.xlsm
    16.3 KB · Affichages: 37
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Re à toutes et à tous,

Lone, ta solution est trop complexe pour la saisie mais ça marche.

Si, merci pour votre solution qui me va bien mais un tout petit souci (encore du confort LOL)

J'ai vu qu'il fallait cliquer sur une autre cellule pour valider.
Est-il possible de passer directement à une autre cellule genre "R.Offset(0, 6)" et que la validation soit automatique ?

Amicalement,
Lionel,
 

Discussions similaires

Statistiques des forums

Discussions
314 653
Messages
2 111 592
Membres
111 208
dernier inscrit
estalavista