Problème VBA avec un REPLACE.

Signaler
Messages postés
5
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
23 juin 2004
-
Messages postés
468
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
30 août 2007
-
Bonjour,

J'ai une feuille EXCEL dans laquelle, dans certaines cellules, il y a du texte de la forme "A=si(lc(3)=0;"";1)" (En réalité les formules sont beaucoup plus compliquées avec des "si(ou" multiples faisant référence à d'autres feuilles). Ce texte qui fait près de 900 caractères, dans certains cas, a été généré en VBA. J'ai été obligé de rajouter un A devant la formule car sinon, lors de l'affectation à la cellule, il y avait un plantage. Je pense que cela est dû au fait qu'il y a trop de si(ou dans la formule et que dans le VBA les fonctions sont US alors que dans la feuille EXCEL, elles sont en Fraçais (IF ==> SI ; OR ==> OU ; le point devient point virgule). En procédent ainsi, le fait de rajouter un A devant la formule fait qu'il n'y a plus d'interprétation puisque EXCEL considère qu'il s'agit d'un texte. Jusque là, cela ce passait bien.
Par contre, lorsque j'essaie de remplacer le "A=" par "=", dans mon code, j'ai un code erreur 1004. J'ai utilisé la fonction REPLACE et SUBSTITUTE même résultat. Je pense que ce qui le gêne, c'est le fait que de supprimer le A, transforme le contenu qui est de type STRING en formule.
Une précision lorsque, je fais l'opération manuellement, en passant par les menus d'EXCEL et que j'enregistre une macro, le REPLACE se fait corretement, par contre lorsque je rejoue la macro plantage.

Si quelqu'un a une solution, je suis preneur.

Merci d'avance.

D.FERRE

1 réponse

Messages postés
468
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
30 août 2007
2
il fo utiliser la propriété formulalocal je crois

activecell.FormulaLocal = "=..."

essai kom ca

++
juva

Retrouvez une équipe de développeurs confirmés sur le tchate:
serveur : bastia.zefunChat.net
port : 6667
chan : #programmation