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
- 11.2.4.1. Manipulation des cellules (13)
- 11.2.4.2. Mise en forme des cellules (26)
- 11.2.4.3. Plages de sélection (11)
Travaillons avec un Variant correspondant à la feuille.
Code c++ : | Sélectionner tout |
1 2 | Variant vCells; vCells = vWorksheet.OlePropertyGet("Cells"); |
Les cellules sont référencées par leur nom (par exemple "A1") et il est donc possible de récupérer une instance de cellule à partir de ce nom avec l'aide de la fonction Evaluate. Nous allons travailler directement sur l'instance d'Excel, ce qui signifie que la cellule renvoyée est celle du classeur en cours et de la feuille en cours.
Code c++ : | Sélectionner tout |
1 2 | Variant vCell; vCell = vMSExcel.OleFunction("Evaluate", "A1"); |
N'oubliez pas de tenir compte du format actuel de définition des cellules (A1 ou L1C1). |
Les méthodes Find et FindNext permettent d'effectuer une recherche sur une plage de cellules.
Considérons donc le Variant vRange.
Code c++ : | Sélectionner tout |
1 2 | Variant vCell; vCell = vRange.OleFunction("Find", "ricky81"); // recherche de la valeur "ricky81" |
Code c++ : | Sélectionner tout |
vCell = vRange.OleFunction("FindNext", vCell);
Lorsque FindNext a fini de parcourir la plage, il reprend au départ. Il est donc nécessaire de mémoriser la cellule renvoyée par Find pour ne pas avoir une boucle infinie. |
Agissons au niveau du Variant correspondant à un cellule.
Pour insérer :
Code c++ : | Sélectionner tout |
vCell.OleProcedure("Insert", shift);
Code c++ : | Sélectionner tout |
1 2 | xlShiftDown = -4121 xlShiftToRight = -4161 |
Code c++ : | Sélectionner tout |
vCell.OleProcedure("Delete", shift);
Code c++ : | Sélectionner tout |
1 2 | xlShiftUp = -4162 xlShiftToLeft = -4159 |
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.