FAQ DelphiConsultez toutes les FAQ
Nombre d'auteurs : 124, nombre de questions : 934, dernière mise à jour : 23 octobre 2024 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.
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)';
Code delphi : | Sélectionner tout |
MaFeuille.Range['E1','E3'].Formula:='=SUM($A$1: $C$1)';
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)';
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)';
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 çaLes 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 © 2024 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.