Première lettre en majuscule dans une colonne

Yann71

XLDnaute Occasionnel
Bonjour la com.

J'ai comme tout le monde par ici, un soucis. J'ai un code VBA permettant de mettre une colonne au format nom propre.
Mon problème réside dans le fait que je sois obligé d'exécuter manuellement par un bouton cette fonction. Se que je souhaite, c'est
que ce code fonction en cour de frappe. En ce sens, si j'écrit michel et que je fasse ENTER, cette cellule affiche Michel.
Je vous donne le code:

Sub Proper_Case()
' Loop to cycle through each cell in the specified range.
For Each x In Range("C1:C5")
' There is not a Proper function in Visual Basic for Applications.
' So, you must use the worksheet function in the following form:
x.Value = Application.Proper(x.Value)
Next
End Sub

Merci pour votre aide.
 
Dernière édition:

James007

XLDnaute Barbatruc
Content d'apprendre que cela fonctionne

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("C1:C10,C20:C30")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Target.Value = Application.WorksheetFunction.Proper(Target.Value)
Application.EnableEvents = True
End Sub
 

Yann71

XLDnaute Occasionnel
Content d'apprendre que cela fonctionne

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("C1:C10,C20:C30")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Target.Value = Application.WorksheetFunction.Proper(Target.Value)
Application.EnableEvents = True
End Sub
Merci James, je vais enfin pouvoir finir mes travaux et peaufiner tout cela. Je te remercie pour ton aide et te souhaite une bonne soirée.
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 405
Membres
102 883
dernier inscrit
jameseyz