OVH Cloud OVH Cloud

majuscules dans un champ

4 réponses
Avatar
elsar
Bonjour
sous Excel d'OFFICE 2003
peut-on formater un champ pour que sysrématiquement , lors de l'entrée d'un
texte, le premier caractère alphabétique et seulement le premier soit mis en
majuscule ?
Les formules "MAJUSCULE" ou "NOMPROPRE" ne répondent pas à mon problème.
Merci d'avance

4 réponses

Avatar
LSteph
Bonjour Elsar,
un champ donc une colonne
cette fois je crois qu'il faut une macro
à mettre dans le code de la feuille
(clic droit sur onglet puis coller et fermer VBE)
Ici pour toute saisie simple ou multiple en colonne E , [e:e] tu peux
adapter:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, c As Range
Set isect = Intersect(Target, [e:e])
If Not isect Is Nothing Then
Application.EnableEvents = False
For Each c In isect
c = UCase(Left(c, 1)) & LCase(Mid(c, 2, Len(c) - 1))
Next
Application.EnableEvents = True
End If
End Sub

'lSteph

"elsar" a écrit dans le message de news:

Bonjour
sous Excel d'OFFICE 2003
peut-on formater un champ pour que sysrématiquement , lors de l'entrée
d'un
texte, le premier caractère alphabétique et seulement le premier soit mis
en
majuscule ?
Les formules "MAJUSCULE" ou "NOMPROPRE" ne répondent pas à mon problème.
Merci d'avance


Avatar
Pegaze
Bonjour

as tu essaye la conbinaison GAUCHE,DROITE ET NBCAR
par exemple

D27«cd

=MAJUSCULE(GAUCHE(D27;1))&((DROITE(D27;NBCAR(D27)-1)))

On obtient Abcd


Bonjour
sous Excel d'OFFICE 2003
peut-on formater un champ pour que sysrématiquement , lors de l'entrée d'un
texte, le premier caractère alphabétique et seulement le premier soit mis en
majuscule ?
Les formules "MAJUSCULE" ou "NOMPROPRE" ne répondent pas à mon problème.
Merci d'avance


Avatar
elsar
Bien reçu et merci
Je vais essayer votre solution et vous tiendrai au courant


Bonjour Elsar,
un champ donc une colonne
cette fois je crois qu'il faut une macro
à mettre dans le code de la feuille
(clic droit sur onglet puis coller et fermer VBE)
Ici pour toute saisie simple ou multiple en colonne E , [e:e] tu peux
adapter:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range, c As Range
Set isect = Intersect(Target, [e:e])
If Not isect Is Nothing Then
Application.EnableEvents = False
For Each c In isect
c = UCase(Left(c, 1)) & LCase(Mid(c, 2, Len(c) - 1))
Next
Application.EnableEvents = True
End If
End Sub

'lSteph

"elsar" a écrit dans le message de news:

Bonjour
sous Excel d'OFFICE 2003
peut-on formater un champ pour que sysrématiquement , lors de l'entrée
d'un
texte, le premier caractère alphabétique et seulement le premier soit mis
en
majuscule ?
Les formules "MAJUSCULE" ou "NOMPROPRE" ne répondent pas à mon problème.
Merci d'avance







Avatar
elsar
Bien reçu et merci
Toutefois je ne pense pas que cela réponde à mon problème.
Il faudrait à ce moment, appliquer cette formule à chaque ligne et sauf si
je ne m'y prends pas bien, il faudra ouvrir une colonne spéciale pour obtenir
le résultat.
J'avais essayé quelque chose de semblable et le résultat ne me satisfaisait
pas.
Je vais essayer la macro de Steph
salut
elsar

Bonjour

as tu essaye la conbinaison GAUCHE,DROITE ET NBCAR
par exemple

D27«cd

=MAJUSCULE(GAUCHE(D27;1))&((DROITE(D27;NBCAR(D27)-1)))

On obtient Abcd


Bonjour
sous Excel d'OFFICE 2003
peut-on formater un champ pour que sysrématiquement , lors de l'entrée d'un
texte, le premier caractère alphabétique et seulement le premier soit mis en
majuscule ?
Les formules "MAJUSCULE" ou "NOMPROPRE" ne répondent pas à mon problème.
Merci d'avance