Question

J'essaie de remplir une cellule Excel 2010 par programme via COM Interop, avec une chaîne qui représente une formule IF.

La ligne de code suivante fonctionne très bien, elle donne la valeur 4 dans Excel :

 .Range("C10").Value = "=2+2"

mais quand je passe une formule IF (sous forme de chaîne)...

 .Range("C11").Value = "=IF(1+1=2;2;0)"

...je tombe sur un COMException, en disant: Exception from HRESULT: 0x800A03EC.

Si je saisis la même formule IF directement dans Excel, elle est analysée correctement.

Merci pour votre aide!

Chris

Était-ce utile?

La solution

Vous devez remplacer les points-virgules par des virgules et utiliser .Formula plutôt .Value

.Range("C11").Formula= "=IF(1+1=2,2,0)"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top