Bonjour
Le 02/04/2021 à 23:04 Eric m'avait fait une macro pour prendre en compte dans une col
si j'ai bien suivi, cette ligne en jaunede commande permet de mettre une seule majuscule du 1er mot. je souhaiterais ajouté une autre colonne. j'ai essayé d'ajouter
ElseIf Not Intersect(Target, UnionColumns("T"), Columns("AF")) Is Nothing Then mais voilà ça plante. Pouvez-vous m'aider ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Target, Union(Columns("j:n"), Columns("u:v"), Columns("y"), Columns("ab"), Columns("ad"), Columns("bj"), Columns("bn"))) Is Nothing Then
' MAJUSCULE
Target = UCase(Target)
ElseIf Not Intersect(Target, Union(Columns("n"), Columns("o"), Columns("x"), Columns("z"), Columns("ac"), Columns("ae"), Columns("bk"), Columns("bo"))) Is Nothing Then
' Nom Propre
Target = WorksheetFunction.Proper(Target.Value)
ElseIf Not Intersect(Target, Columns("T")) Is Nothing Then
' initiale
Target = initialeMaj(Target.Value)
End If
Application.EnableEvents = True
End Sub
Function initialeMaj(ch As String) As String
If Len(ch) = 1 Then
initialeMaj = UCase(ch)
Else
initialeMaj = UCase(Left(ch, 1)) & LCase(Mid(ch, 2))
End If
End Function
Cordialement