Bonjour à tous,
Pour mon premier message sur ce forum, j'ai un problème à résoudre un peu particulier, mais malgré mes recherches, je n'aboutis à rien.
Je précise que mes connaissances en VB sont très très minces...
Alors voilà pour l'explication de mon problème. On m'a demandé à mon travail de faire une petite macro qui permettrait de faciliter le rechercher/remplacer.
Après quelques recherches sur des forums, j'ai réussi à faire ce programme qui, à partir d'une liste de mots présents sur la feuille "DICO", va faire le remplacement nécessaire sur la 1ère feuille (Il faut juste sélectionner la plage de cellules à modifier)
L'avantage est que la liste est modifiable à volonté.
Pour l'instant, tout fonctionne parfaitement, mais on m'a demandé que si un mot à l'intérieur d'une cellule n'est pas modifié (dans ce cas, il y aurait une erreur de saisie), que cette (ces) cellule(s) soient identifiées, par une quelconque méthode, par exemple un changement de couleur, afin que l'utilisateur puisse visualiser rapidement l'erreur.
Et c'est là que je bloque... J'ai bien essayé avec une mise en forme conditionnelle (cellule ne contenant pas tel mot), mais rien à faire...
Merci de votre aide, si cet opération est réalisable...
Je vous joins également mon fichier.
Pour mon premier message sur ce forum, j'ai un problème à résoudre un peu particulier, mais malgré mes recherches, je n'aboutis à rien.
Je précise que mes connaissances en VB sont très très minces...
Alors voilà pour l'explication de mon problème. On m'a demandé à mon travail de faire une petite macro qui permettrait de faciliter le rechercher/remplacer.
Après quelques recherches sur des forums, j'ai réussi à faire ce programme qui, à partir d'une liste de mots présents sur la feuille "DICO", va faire le remplacement nécessaire sur la 1ère feuille (Il faut juste sélectionner la plage de cellules à modifier)
L'avantage est que la liste est modifiable à volonté.
Code:
Sub Remplacement_texte()
Dim cell As Range
Application.ScreenUpdating = False
For Each cell In Selection
cell.Value = cell.Value & " "
count_dico = WorksheetFunction.CountA(Worksheets("DICO").Range("A:A"))
For Row = 2 To count_dico
cell.Value = Replace(cell.Value, Worksheets("DICO").Cells(Row, 1).Value & " ", Worksheets("DICO").Cells(Row, 2) & " ")
Next Row
Next cell
Application.ScreenUpdating = True
End Sub
Pour l'instant, tout fonctionne parfaitement, mais on m'a demandé que si un mot à l'intérieur d'une cellule n'est pas modifié (dans ce cas, il y aurait une erreur de saisie), que cette (ces) cellule(s) soient identifiées, par une quelconque méthode, par exemple un changement de couleur, afin que l'utilisateur puisse visualiser rapidement l'erreur.
Et c'est là que je bloque... J'ai bien essayé avec une mise en forme conditionnelle (cellule ne contenant pas tel mot), mais rien à faire...
Merci de votre aide, si cet opération est réalisable...
Je vous joins également mon fichier.