Validation macro

Bonjour le Forum,

Je reviens vers vous pour « encore » vous demander de l’aide après maintes recherches infructueuses.

Avec l’aide de Theze, j’ai une macro qui transforme une abréviation en mot ou phrase.

Cette macro tourne très bien, mais serait-il possible que celle-ci déclenche aussi bien en début qu’en milieu de phrase.

Actuellement la macro ne déclenche que s’il n’y a que l’abréviation dans le début de cellule.

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 "

Case "EPI"

Target.Value = "L’équipe de première intervention"

Run 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

Je vous remercie d’avance pour l’aide que vous pourrez m’apporter.

Bonjour,

A tester !?

Cdlt.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

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

        Select Case True
            Case Target.Value Like "*SPHPT*"
                Target.Value = "Service de protection et prévention sur le lieu de travail "
            Case Target.Value Like "*EPI*"
                Target.Value = "L’équipe de première intervention"
                'revient à la cellule
                Run Target.Select
                'l'appui sur la touche F2 permet d'entrer en édition et mets le curseur en fin de texte
                SendKeys "{F2}"
        End Select

    End If

End Sub

Bonjour Jean-Eric,

La macro tourne, mais efface toute les données précédentes

Un exemple de phrase: Ce jour EPI qui devrait devenir: Ce jour L’équipe de première intervention ......, devient L’équipe de première intervention.

Merci pour votre aide

Re,

Cette proposition est identique à la proposition de Theze (que je salue).

Sinon qu'elle recherche non pas un terme exact, mais si un terme est contenu dans une phrase.

Cdlt.

Rebonjour,

Le problème est que cette macro efface le contenu de la cellule pour y incorporer la modification.

Donc est il possible de trouver une macro qui laisserait, comme expliqué dans mon dernier message, les données déjà incorporées dans la cellule et intégrer la modification demandée sans effacer ces mêmes données.

Merci d'avance.

Bonjour, modification de la macro.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

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

            Select Case True
                Case Target.Value Like "*SPHPT*"
                    Target.Value = Replace(Target.Value, "SPHPT", "Service de protection et prévention sur le lieu de travail ")
                Case Target.Value Like "*EPI*"
                    Target.Value = Replace(Target.Value, "EPI", "L’équipe de première intervention")
                    'revient à la cellule
                   Run Target.Select
                    'l'appui sur la touche F2 permet d'entrer en édition et mets le curseur en fin de texte
                   SendKeys "{F2}"
            End Select

        End If

    End Sub

Bonsoir Wilder,

Merci pour cette macro, cela fonctionne comme je l'espérais.

Je vous souhaite une excellente soirée.

Bàv

Idem

Rechercher des sujets similaires à "validation macro"