IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ C++ BuilderConsultez toutes les FAQ

Nombre d'auteurs : 60, nombre de questions : 670, dernière mise à jour : 21 novembre 2010  Ajouter une question

 

Cette F.A.Q. a été réalisée à partir des questions fréquemment posées sur le forum C++ Builder de developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette F.A.Q. ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette F.A.Q. ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, contactez pottiez

Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.

L'équipe C++ Builder de Developpez.

Commentez cette FAQ : Commentez

SommaireMS OfficeExcelGestion des cellulesManipulation des cellules (13)
précédent sommaire suivant
 

Plaçons-nous au niveau de la feuille :

Code c++ : Sélectionner tout
1
2
3
Variant vCell; 
vCell = vWorksheet.OlePropertyGet("Range", vWsRange); 
// vWsRange contient l'adresse sous forme d'un chaîne de caractères
Selon le format de définition des cellules en cours, pour récupérer la première cellule de votre feuille, vous aurez à donner la valeur "A1" ou "L1C1" à vWsRange.

Mis à jour le 8 décembre 2004 Ricky81

Plaçons-nous au niveau de la feuille

Code c++ : Sélectionner tout
1
2
Variant vCell; 
vCell = vWorksheet.OlePropertyGet("Cells", vX, vY);

Mis à jour le 8 décembre 2004 Ricky81

Plaçons-nous au niveau de la feuille

Code c++ : Sélectionner tout
1
2
3
Variant vRange; 
vRange = vWorksheet.OlePropertyGet("Range", vWsRange); 
// vWsRange est un Variant contenant la chaîne de caractère correspondant à la plage recherchée
Selon le format de définition des cellules en cours, il faudra donner à vWsRange la valeur "A1:B2" ou "L1C1:L2C2" pour récupérer les 4 premières cellules de la feuille.

Mis à jour le 8 décembre 2004 Ricky81

Plaçons-nous au niveau de la feuille

Code c++ : Sélectionner tout
1
2
3
Variant vRange; 
vRange = vWorksheet.OlePropertyGet("Range", vCell1, vCell2); 
// vCell1 et vCell2 sont des Variants définissant chacun une cellule

Mis à jour le 8 décembre 2004 Ricky81

Nous allons travailler sur le Variant vCell correspondant à la cellule.

Code c++ : Sélectionner tout
vCell.OlePropertySet("Value", vValue); // vValue Variant initialisé à la nouvelle valeur
Remarque : si une même valeur doit être définie pour plusieurs cellules, l'opération précédente peut également être appelée sur un Variant définissant un groupe de cellules.

Mis à jour le 8 décembre 2004 Ricky81

Nous allons travailler sur le Variant vCell correspondant à la cellule.

Code c++ : Sélectionner tout
1
2
vCell.OlePropertySet("Formula", vValue); 
// vValue est un Variant contenant la formule, par exemple "=A1+1"
Attention, l'écriture de formules peut dépendre de la langue utilisée par Excel.Il existe 2 modes pour les formules : le mode international (Formula) et le mode local (FormulaLocal). Il peut donc être intéressant d'en tenir compte et de choisir entre les deux possibilités.

Mis à jour le 8 décembre 2004 Ricky81

Nous allons travailler sur le Variant vRange correspondant à une cellule ou un groupe de cellules.

Code c++ : Sélectionner tout
1
2
bool contientFormule; 
contientFormule = vRange.OlePropertyGet("HasFormula");
Si au moins une cellule du groupe contient une formule, cette propriété renverra la valeur true. S'il n'y en a aucune, elle renverra false.

Mis à jour le 8 décembre 2004 Superstivix

Agissons au niveau du Variant correspondant à la plage de cellules cible.

Code c++ : Sélectionner tout
vRange.OleFunction("ClearContents");

Mis à jour le 8 décembre 2004 Ricky81

Agissons au niveau du Variant correspondant à la plage de cellules cible.
Nous allons tout simplement utiliser la même propriété que pour une simple cellule.

Code c++ : Sélectionner tout
1
2
3
4
5
6
7
8
9
Variant vValues; 
vValues = vRange.OlePropertyGet("Value"); 
for(int i=1 ; i<=vValues.ArrayHighBound(1) ; i++) 
{ 
  for(int j=1 ; j<=vValues.ArrayHighBound(2) ; j++) 
  { 
    ShowMessage(vValues.GetElement(i,j)); 
  } 
}
Dans le cas d'une plage de cellules, le Variant renvoyé est de type tableau. Le tableau est à 2 dimensions et le code précédent permet de le parcourir.

Mis à jour le 8 décembre 2004 Ricky81

Agissons au niveau du Variant correspondant à la feuille en question.

Code c++ : Sélectionner tout
1
2
Variant vCol; 
vCol = vWorksheet.OlePropertyGet("Columns", vWsCol); // vWsCol correspond à l'indice de colonne

Mis à jour le 8 décembre 2004 Ricky81

Agissons au niveau du Variant correspondant à la feuille en question.

Code c++ : Sélectionner tout
1
2
Variant vRow; 
vRow = vWorksheet.OlePropertyGet("Rows",vWsRow); // vWsRow correspond à l'indice de ligne

Mis à jour le 8 décembre 2004 Ricky81

Nous allons travailler sur le Variant vCell correspondant à la cellule.

Code c++ : Sélectionner tout
1
2
3
Variant vCol, vRow; 
vRow = vRange.OlePropertyGet("EntireRow"); 
vCol = vRange.OlePropertyGet("EntireColumn");

Mis à jour le 8 décembre 2004 Superstivix

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 © 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.