Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
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...
 
V

Vériland

Guest
Bonsoir DLP, Michel, Alex et toi le Forum,

ben moi j'ai p'têt pas tout capté mais la fonction recherche ne conviendrait-elle pas ?

Edition / Rechercher onglet Remplacer puis voilà !



 
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…