FAQ DelphiConsultez toutes les FAQ

Nombre d'auteurs : 123, nombre de questions : 920, dernière mise à jour : 8 novembre 2019  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums Delphi et Delphi et bases de données de www.developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous souhaitez y apporter des corrections ou la compléter, contactez un responsable (lien au bas de cette page).

Nous espérons que cette FAQ saura répondre à vos attentes. Nous vous en souhaitons une bonne lecture.

L'équipe Delphi de Developpez.com.

Commentez


SommaireMicrosoft OfficeMicrosoft ExcelUtilisation des feuilles et de leur contenuManipulation des formules (1)
précédent sommaire suivant
 

Il existe cinq propriétés concernant les formules qu'il convient de ne pas confondre
Les formules sont des propriétés à recopie automatique ce qui veut dire que lorsqu'on affecte une formule à une plage, toutes les cellules de la plage copient la formule.

Quelques rappels sur les références.
Dans Excel il existe deux modes de référence A1 et R1C1 (ou L1C1 pour les anglophobes). En général on travaille dans le même mode que celui défini par les options d'Excel, que l'on peut récupérer avec la propriété ReferenceStyle de l'objet TExcelApplication. Une référence de Type A1 se présente sous la forme PartieLittéralPartienumérique. La partie littérale représente une colonne. Si elle est précédée du caractère $ la référence est absolue. La partie numérique représente une ligne, le $ ayant la même action. Ainsi $A$1, $A1, A$1 et A1 représentent quatre références différentes bien qu'elles puissent représenter la même cellule.
Les référence de type L1C1 sont beaucoup plus lisible dans une formule. Si le caractère L est directement suivi d'un chiffre la référence de ligne est absolue, sinon non. Si le caractère C est directement suivi d'un chiffre la référence de ligne est absolue, sinon non.
Ainsi dans l'exemple précédent on obtient L1C1,LC1,L1C,LC.
Quand on a du mal à changer de système de référence l'objet TExcelApplication possède une méthode ConvertFormula qui fonctionne très bien.

Quelques rappels sur les formules.
Microsoft Excel est un logiciel qui possède deux modes pour les formules, le mode international (Anglais) et le mode Local qui dépend de votre installation (dans nos exemples français). Les deux types de formules existent simultanément, c'est à dire que si j'écris la formule =Row()*Column() dans la propriété Formula, je vais récupérer =Ligne()*Colonne() dans la propriété FormulaLocal.
En mode international, les référence L(1)C(2 )s'écrivent R[1]C[2].
Il ne faut jamais écrire une formule internationale dans la propriété FormulaLocal ou inversement sous peine de voir apparaître l'erreur #NOM dans la cellule.

Pour ajouter une formule internationale :

Code delphi : Sélectionner tout
MaFeuille.Range['E1','E3'].Formula:='=SUM(A1:C1)';
Qui est différent de :
Code delphi : Sélectionner tout
MaFeuille.Range['E1','E3'].Formula:='=SUM($A$1: $C$1)';
Avec des références R1C1 :
Code delphi : Sélectionner tout
MaFeuille.Range['E1','E3'].FormulaR1C1:='=SUM(RC[-4]:RC[-2])';

Pour ajouter une formule locale :
Code delphi : Sélectionner tout
MaFeuille.Range['E1','E3'].FormulaLocal:='=SOMME(A1:C1)';
Avec les références L1C1 :
Code delphi : Sélectionner tout
MaFeuille.Range['E1','E3'].FormulaLocalR1C1:='=SOMME(LC(-4):LC(-2))';

Pour ajouter une formule matricielle :
Code delphi : Sélectionner tout
MaFeuille.Range['E1','E3'].FormulaArray:='=SOMME(L1C1:L3C3)';

Mis à jour le 18 janvier 2014 bidou

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2019 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.