mettre en majuscules certaines lettres

  • Initiateur de la discussion Initiateur de la discussion poipoi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

poipoi

XLDnaute Impliqué
Bonjour à vous
je viens pour une question qui me bloque:
pour un répertoire de panneaux routiers je cherche une macro qui me permettrait de faire ceci:
ab3a devient AB3a
m9c devient M9c
a13b devient A13b
en fait toutes les lettres à gauche des chiffres doivent passer en majuscules (ou ne conserver que la dernière en minuscule!!)
je suis allé voir du coté des chaines de caractères mais je n'ai pas sû trouver mon bonheur
auriez-vous une petite idée?
d'avance un grand merci
 
Re : mettre en majuscules certaines lettres

Bonjour poipoi,

Code:
Range("B5").Value = UCase(Left(Range("B5").Value, Len(Range("B5").Value) - 1)) & Right(Range("B5").Value, 1)

Si ta chaîne se trouve en B5.

EDIT : Salut Caillou
 
Re : mettre en majuscules certaines lettres

Bonjour Caillou, Wuted
et un grand merci
votre solution fonctionne certainement mais je n'arrive pas à l'appliquer dans ce tableau (ci-joint)
en fait l'opératuer saisit les cellules à la volée (en suivant) et il fdaudrait que la macro opère dans les colonnes E et L
 

Pièces jointes

Re : mettre en majuscules certaines lettres

Re,

Insère cette macro dans le code la ta feuille, si j'ai bien compris :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If (Target.Column = 5 Or Target.Column = 12) And Target.Value <> "" Then
        Target.Value = UCase(Left(Target.Value, Len(Target) - 1)) & Right(Target.Value, 1)
    End If
End Sub
 
Re : mettre en majuscules certaines lettres

re,
je reviens pour essayer de comprendre cette formule et éventuellement l'adapter au cas où:
UCase(Left(Target.Value, Len(Target) - 1)) veut dire: les caractères de la cellule à gauche en majuscule sauf le dernier?? donc si je veux les 2 derniers en minuscule je mets: -2
mais je comprends pas ce que veut dire: Right(Target.Value, 1)!
 
Re : mettre en majuscules certaines lettres

bonjour le fil,

Target.Value = valeur de la cellule cible
UCase = passer le texte en majuscule
(Left(Target.Value, Len(Target) - 1)) =en partant de la gauche(valeur du texte à traiter, nombre de caractères -1)
& Right(Target.Value, 1) = en partant de la droite(valeur de texte à traiter, nombre de caractères à traiter) ici 1
donc, si tu veux les 2 dernier caractères en minuscule:
Target.Value = UCase(Left(Target.Value, Len(Target) - 2)) & LCase(Right(Target.Value, 2))
j'ai ajouté "LCase" pour forcer la minuscule

à +
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
116
Affichages
6 K
Retour