Saisie transformée en nom propre

aubelix

XLDnaute Impliqué
Bonjour à tout le forum.

Ci-dessous code qui fonctionne pour les noms propres et les minuscules.
Pour les noms propres, j'ai un message d'erreur. Avez-vous la solution ?
Par avance merci de votre aide.
Bon week-end à tous.
Cordialement.


Private Sub Worksheet_Change(ByVal Target As Range)
Static X As Boolean
If Target.Count > 1 Then Exit Sub
If X = False Then
X = True
'majuscule
If Not Intersect(Target, Range("A2:A800,E2:E800,H2:H800,K2:K800,N2:N800,Q2:Q800,T2:T800,U2:U800")) Is Nothing Then Target.Value = UCase(Target.Value)
'minuscule
If Not Intersect(Target, Range("C2:C800,J2:J800,M2:M800,P2:p800,S2:S800,V2:V800")) Is Nothing Then Target.Value = LCase(Target.Value)
'Nom propre
If Not Intersect(Target, Range("B2:B800")) Is Nothing Then Target.Value = ProperCase(Target.Value)

X = False
End If
End Sub
 

dudu29

XLDnaute Nouveau
Re : Saisie transformée en nom propre

Salut,

j'ai essaye l'instruction propercase et sur excel 97 ca ne fonctionne pas.
alors je ne sais pas sur quelle version tu travailles mais c'est peut etre la cause.
Voila un equivalent plus long forcemment..

ucase(left(selection,1)) & mid(selection,2,len(selection)-1)

Voila @+
Dudu
 

Dull

XLDnaute Barbatruc
Re : Saisie transformée en nom propre

salut Aubélix, le Forum

A la place de
Code:
If Not Intersect(Target, Range("B2:B800")) Is Nothing Then Target.Value = [B]ProperCase[/B](Target.Value)
essaye

Code:
If Not Intersect(Target, Range("B2:B800")) Is Nothing Then Target.Value = [B]Application.Proper[/B](Target.Value)
Bonne journée

EDITION: Salut bhbh, dudu, Désolépourlacollision
 

Discussions similaires

  • Résolu(e)
XL 2021 macro
Réponses
9
Affichages
442

Statistiques des forums

Discussions
312 018
Messages
2 084 657
Membres
102 628
dernier inscrit
alexduf971