Validation macro

Bonjour le Forum,

Est-il possible de remplacer une abréviation par un début de phrase en VBA sans devoir sortir de la cellule pour faire tourner la macro. L’utilisation de la barre d’espacement serait idéale.

Si ce n’est pas possible par la barre d’espacement, au moins revenir sur la cellule concernée automatiquement afin d'ajouter du texte à la fin de la phrase déjà modifiée.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Not Intersect(Target, Range("H15:K18")) Is Nothing Then

Select Case Target

Case "SPHPT": Target = "Service de protection et prévention sur le lieu de travail "

End Select

End If

End Sub

Merci d’avance pour votre aide.

Bonjour,

Teste ceci :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

    If Not Intersect(Target, Range("H15:K18")) Is Nothing Then

        Select Case Target.Value

            Case "SPHPT"
                Target.Value = "Service de protection et prévention sur le lieu de travail "
                Target.Select 'revient à la cellule
                SendKeys "{F2}" 'l'appui sur la touche F2 permet d'entrer en édition et mets le curseur en fin de texte

        End Select

    End If

End Sub

Comme il n'est pas possible d'intercepter la saisie dans une cellule, il te faut valider en sortant de cette dernière et la proc te repositionne dans la cellule et appui sur F2 afin d'entrer en mode édition et place le curseur en fin des valeurs saisies pour te permettre de continuer.

Theze,

Tout d'abord je vous remercie pour votre réaction si rapide. Je n'ai pas pu répondre plus vite car je n'étais pas en ligne.

Votre solution est exactement celle que je recherchais.

Je vous souhaite une excellente journée et au plaisir de vous relire.

Inguyone

Rechercher des sujets similaires à "validation macro"