Erreur de syntaxe sur VBA

bonjours tous le monde,

je suis nouveau parmi vous et de ce fait un peu maladroit surtout que je ne suis pas du tout habituer a ce genre d'exercice.

voila mon problème...

j'ai sur une feuille excel 2 macro comme ceux ci

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Valeur As String

Dim Plage, Cellule As Range

' Ici spécifier la plage à couvrir !

Set Plage = Range("e23:e210")

For Each Cellule In Plage

Valeur = Mid(Cellule.Value, 2)

Valeur = UCase(Mid(Cellule.Value, 1, 1)) & Valeur

Cellule.Value = Valeur

Next Cellule

End Sub

Private Sub Worksheet_Change(ByVal zz As Range)

If Intersect(zz, [d3:d210]) Is Nothing Then Exit Sub

Application.EnableEvents = False

zz = UCase(zz)

Application.EnableEvents = True

End Sub

et je souhaiterai si possible les réunir une une seul ,du type "Private Sub Worksheet_Change"

je suis débutant (et là je suis très loin du compte)et souhaiterai qu'on m'expliquer le fonctionnement (les bases, dans la mesure du possible évidement).

je vous remercie d'avance et vous souhaite une bonne journée

Salut,

Essayes ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("E23:E210")) Is Nothing Then   'Si modif dans le range E23=>E210
        Target.Value = UCase(Mid(Target.Value, 1, 1)) & Mid(Target.Value, 2)  'On remplace la premiere lettre par une majuscule
    ElseIf Not Intersect(Target, [d3:d210]) Is Nothing Then  'Si modif dans le range D3=>D210
        Target.Value = UCase(Target.Value) 'On remplace tout en majuscule
    End If
End Sub

Dis moi si c'est OK.

damien

Rechercher des sujets similaires à "erreur syntaxe vba"