Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Premiere lettre en MAJ

4 réponses
Avatar
Michel (pen ar bed)
Bonjour,

J'ai trouvé cela pour mettre en majuscule la première lettre d'un mot
dans une cellule lors de la saisie, OK c'est bon (en bas)

Mais je n'arrive pas à la transformer pour les cellules qui ont
plusieurs mots. Pour que chaque mot est aussi une majuscule en première
lettre.

Merci de l'aide
M.

--------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value >= "a" And Target.Value <= "z" Then
Target.Value = Chr(-32 + Asc(Left$(Target.Value, 1))) &
Right$(Target.Value, Len(Target.Value) - 1)
End If
End Sub
----------------------------------------------------------------

4 réponses

Avatar
Michel (pen ar bed)
Michel (pen ar bed) a formulé ce vendredi :
Bonjour,

J'ai trouvé cela pour mettre en majuscule la première lettre d'un mot dans
une cellule lors de la saisie, OK c'est bon (en bas)

Mais je n'arrive pas à la transformer pour les cellules qui ont plusieurs
mots. Pour que chaque mot est aussi une majuscule en première lettre.

trouvé


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = Application.Proper(Target)
Application.EnableEvents = True
End Sub

Avatar
Michel (pen ar bed)
Michel (pen ar bed) avait soumis l'idée :
Michel (pen ar bed) a formulé ce vendredi :
Bonjour,

J'ai trouvé cela pour mettre en majuscule la première lettre d'un mot dans
une cellule lors de la saisie, OK c'est bon (en bas)

Mais je n'arrive pas à la transformer pour les cellules qui ont plusieurs
mots. Pour que chaque mot est aussi une majuscule en première lettre.

trouvé


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = Application.Proper(Target)
Application.EnableEvents = True
End Sub


Comment Faire pour que cela ne soit pris en compte que sur certaines
colonnes ?

Merci


Avatar
Tatanka
Salut Michel,

Essaie ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
'Les Numéros de colonnes
c = Array(1, 3, 7, 9, 10)

For i = 0 To UBound(c)
If Target.Column = c(i) Then
With Application
.EnableEvents = False
Target = .Proper(Target)
.EnableEvents = True
End With
Exit Sub
End If
Next i
End Sub

Serge


"Michel (pen ar bed)" a écrit dans le message de news:
Michel (pen ar bed) avait soumis l'idée :
Michel (pen ar bed) a formulé ce vendredi :
Bonjour,

J'ai trouvé cela pour mettre en majuscule la première lettre d'un mot dans une cellule lors de la saisie, OK c'est bon (en bas)

Mais je n'arrive pas à la transformer pour les cellules qui ont plusieurs mots. Pour que chaque mot est aussi une majuscule en
première lettre.

trouvé


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = Application.Proper(Target)
Application.EnableEvents = True
End Sub


Comment Faire pour que cela ne soit pris en compte que sur certaines colonnes ?

Merci






Avatar
Jo
Salut Michel,

Essaie ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
'Les Numéros de colonnes
c = Array(1, 3, 7, 9, 10)

For i = 0 To UBound(c)
If Target.Column = c(i) Then
With Application
.EnableEvents = False
Target = .Proper(Target)
.EnableEvents = True
End With
Exit Sub
End If
Next i
End Sub

Serge




Merci c'est parfait
M.