Programme de remplacement de mots dans une cellule

A

alex

Guest
Bonjour tout le monde !

Est-ce que quelqu'un saurait m'expliquer (ou encore mieux m'envoyer si ca existe déjà...) comment écrire un programme qui remplace automatiquement dans une feuille Excel un mot se trouvant non pas directement dans une cellule mais dans la formule permettant de calculer la cellule ???


Merci beaucoup par avance !!

Alex
 
D

DLP

Guest
Tu peux essayer de coller cette ligne dans ton code VBA

Worksheets("nom de ton classeur").Range("plage à changer").Replace What:="mot à change", Replacement:="nouveau mot"

en modifiant ce qu'il faut bien sur....
 
M

michel

Guest
Bonjour Alex , Bonjour DLP

si tu as une formule dans la cellule A1( par exemple =A2+B2 ) , la macro ci dessous remplace B2 par E1 dans la formule

Sub ModifFormule()
Range("A1") = Application.Substitute(Range("A1").Formula, "B2", "E1")
End Sub


bonne soirée
michel
lapin4.gif
 
A

alex

Guest
OUPS...

En fait il y a un petit problème... si j'utilise l'un de vos 2 programmes, il faut que j'indique la cellule dans laquelle je veux effectuer le changement...

Le problème c'est que je ne sais pas où se trouvent les mots à changer, et que je dois de plus effectuer ce changement sur un ensemble de documents de taille différente...
 
D

DLP

Guest
Bonjour Vériland, Michel, Alex et tout le forum,

Je pense que la méthode de Vériland est la plus simple.

Par contre si tu veux automatiser la procédure, je te propose la solution suivante qui remplace toute les occurences de "tata" en "toto" de tous les classeurs ouverts et dans tous les onglets.

C'est un peu bourrin, alors tu pourras sûrement l'adapter toi-même à un ensemble de classeur et d'onglet précis.



Sub remplacement()

Dim ancien As String
Dim nouveau As String
Dim onglet As Byte
Dim classeur As Byte

ancien = "tata"
nouveau = "toto"

For classeur = 1 To Workbooks.Count
For onglet = 1 To Worksheets.Count
Workbooks(classeur).Worksheets(onglet).Columns("a:zz").Replace What:=ancien, Replacement:=nouveau
Next onglet
Next classeur

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
313 017
Messages
2 094 409
Membres
106 011
dernier inscrit
VLB