Ajout automatique avant texte

bonjour

je souhaite que "19-" s'ajoute aux autre chiffres rentré dans chaque cellule de la colonne C de mon tableau,j'utilise le code ci dessous mais j'ai "19-" 50 fois avant ce que j'ai rentré au lieu de une seule fois...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target(1) <> "" And Left(Target(1), 8) <> "19-" Then Target(1) = "19-" & Target(1)
End Sub

merci de votre aide

Salut mipec,

le fait de modifier ta cellule en ajoutant "19-" provoque l'événement '_Change' ... qui rappelle ta procédure et rajoute "19-" qui re-provoque l'événement '_Change' qui... etc...

Il faut donc, selon les circonstances d'un programme, neutraliser les événements temporairement avec...

Application.EnableEvents = False

...ce qui nous donne :

Private Sub Worksheet_Change(ByVal Target As Range)
'
Application.EnableEvents = False
If Not Intersect(Target, Columns(3)) Is Nothing Then
    If Target <> "" And Left(Target, 3) <> "19-" Then Target = "19-" & Target
End If
Application.EnableEvents = True
'
End Sub

A+

super ,merci

le VBA ne fonctionne pas dans TEAMS

Rechercher des sujets similaires à "ajout automatique texte"