Bonjour tout le monde!
Je pilote Excel via Delphi.
Je crée un nouveau document .xls, et j'insère des données provenant d'une base de données à l'intérieur.
Je n'utilise pas de composant Excel, pas de TLB, je ne manipule que des variants.
Par exemple pour créer/lancer l'instance de Excel:
Mais là n'est pas le problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 try vMSExcel := GetActiveOleObject('Excel.Application'); except vMSExcel := CreateOleObject('Excel.Application'); end;
A un moment donné, je dois insérer dans une cellule du document Excel (toujours via Delphi) une formule de sous-total:
=SOMME(A1:B1)
Mon code est:
Avec i et j des entiers (les coordonnées de ma cellule)
Code : Sélectionner tout - Visualiser dans une fenêtre à part MaFeuilleXL.Cells[j,i].Formula := '=SOMME(A1:B1)';
Cette formule est bien insérée dans la cellule adéquate.
Le document est ensuite sauvegardé, toujours via Delphi. Puis Excel est fermé.
PROBLEME:
Quand j'ouvre mon document à partir de Excel, toutes mes données sont bien insérées, mais j'ai un problème pour la formule:
La cellule qui comporte la formule affiche une erreur:
J'ai regardé dansa l'aide, et tout ce que j'ai pu trouver, c'est que l'erreur est la n° 2029, et s'appelle xlErrName .#NOM?
Pourtant, si je clique sur la cellule, j'ai bien la formule qui s'affiche en haut dans la barre de formule. Et si je clique dans la barre, et que j'appuie sur l'icone de coche verte pour la valider, le calcul se fait à ce moment là!!!
Alors pourquoi est-ce que ce calcul ne se fait pas automatiquement, et que je suis obligé de le valider???
J'ai mêmle essayer de provoquer le calcul de la feuille Excel en ajoutant dans mes instructions un truc comme:
Mais çe ne fait rien de plus...
Code : Sélectionner tout - Visualiser dans une fenêtre à part MaFeuilleXL.Calculate;
Merci d'avance pour tous ceux qui pourraient me trouver une piste, ou une solution!
A+
Partager