Remplacer des caractères dans une formule

Résolu
Signaler
Messages postés
2
Date d'inscription
mardi 5 septembre 2006
Statut
Membre
Dernière intervention
5 septembre 2006
-
Messages postés
2
Date d'inscription
mardi 5 septembre 2006
Statut
Membre
Dernière intervention
5 septembre 2006
-
Via une macro, je cherche à remplacer des caractères dans des formules.


Manuellement, il n'y a aucun problème car "remplacer" gère très bien les remplacement dans les formules. Par contre, si je récupère le code à l'aide de l'enregistreur de macro et que je l'exécute, ça ne fonctionne plus.


Concrétement je cherche à remplacer "AUJOURDHUI()" par "T1" dans toute les formules présentes sur une feuille excel.


L'enregistreur de macro me donne le code suivant mais ça ne fonctionne qu'avec du texte (pas avec les formules), c'est à dire lorsque les cellules ne commence pas par un "=" :


    Cells.Replace What:="AUJOURDHUI()", Replacement:="T1", _
        MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Pouvez_vous m'aider ?

1 réponse

Messages postés
2
Date d'inscription
mardi 5 septembre 2006
Statut
Membre
Dernière intervention
5 septembre 2006

Finalement j'ai trouvé la réponse tout seul après avoir bataillé tout une après-midi.


Et le pire c'est que j'ai trouvé 10  minutes après avoir poster.


La solution est simple : Malgré le fait que "AUJOURDHUI()" soit saisi dans les formules, VB cherche "TODAY()". Il suffit donc de remplacer  "AUJOURDHUI()" par "TODAY()" dans la formule.

En espérant que cela puisse servir à quelqu'un un jour.