Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C++

Choisissez la catégorie, puis la rubrique :

logo
Sommaire > MS Office > Excel > Gestion des cellules > Manipulation des cellules
        Comment accéder à une cellule définie au format Excel (ex. A1 ou L1C1) ?
        Comment accéder à une cellule à partir de ses coordonnées ?
        Comment accéder à un groupe de cellules défini au format Excel (ex. A1:B2 ou L1C1:L2C2) ?
        Comment accéder à un groupe de cellules délimité par 2 cellules ?
        Comment récupérer le contenu d'une cellule ?
        Comment définir le contenu d'une cellule ?
        Comment affecter une formule à une cellule ?
        Comment savoir si une formule est présente dans un groupe de cellules ?
        Comment effacer une plage de cellules ?
        Comment récupérer les valeurs d'une plage de cellules dans un Variant ?
        Comment récupérer un objet sur une colonne de ma feuille ?
        Comment récupérer un objet sur une ligne de ma feuille ?
        Comment récupérer un objet correspondant à la ligne/colonne complète à laquelle appartient un groupe de cellules ?



Comment accéder à une cellule définie au format Excel (ex. A1 ou L1C1) ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Plaçons-nous au niveau de la feuille :

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.

lien : faq Comment accéder à une cellule à partir de ses coordonnées ?
lien : faq Comment récupérer une cellule à partir de son adresse ?
lien : faq Comment accéder à un groupe de cellules défini au format Excel (ex. A1:B2 ou L1C1:L2C2) ?

Comment accéder à une cellule à partir de ses coordonnées ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Plaçons-nous au niveau de la feuille
 
Variant vCell;
vCell = vWorksheet.OlePropertyGet("Cells", vX, vY);
lien : faq Comment accéder à une cellule définie au format Excel (ex. A1 ou L1C1) ?
lien : faq Comment accéder à un groupe de cellules délimité par 2 cellules ?

Comment accéder à un groupe de cellules défini au format Excel (ex. A1:B2 ou L1C1:L2C2) ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Plaçons-nous au niveau de la feuille

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.

lien : faq Comment accéder à une cellule définie au format Excel (ex. A1 ou L1C1) ?
lien : faq Comment accéder à un groupe de cellules délimité par 2 cellules ?

Comment accéder à un groupe de cellules délimité par 2 cellules ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Plaçons-nous au niveau de la feuille

Variant vRange;
vRange = vWorksheet.OlePropertyGet("Range", vCell1, vCell2);
// vCell1 et vCell2 sont des Variants définissant chacun une cellule 
lien : faq Comment accéder à un groupe de cellules défini au format Excel (ex. A1:B2 ou L1C1:L2C2) ?
lien : faq Comment accéder à une cellule à partir de ses coordonnées ?
lien : faq Comment accéder à une cellule définie au format Excel (ex. A1 ou L1C1) ?

Comment définir le contenu d'une cellule ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Nous allons travailler sur le Variant vCell correspondant à la cellule.

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.

lien : faq Comment accéder à une cellule définie au format Excel (ex. A1 ou L1C1) ?
lien : faq Comment accéder à une cellule à partir de ses coordonnées ?
lien : faq Comment récupérer le contenu d'une cellule ?

Comment affecter une formule à une cellule ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Nous allons travailler sur le Variant vCell correspondant à la cellule.

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.

lien : faq Comment accéder à une cellule définie au format Excel (ex. A1 ou L1C1) ?
lien : faq Comment accéder à une cellule à partir de ses coordonnées ?
lien : faq Comment savoir si une formule est présente dans un groupe de cellules ?

Comment savoir si une formule est présente dans un groupe de cellules ?
Créé le 08/12/2004[haut]
auteur : Superstivix
Nous allons travailler sur le Variant vRange correspondant à une cellule ou un groupe de cellules.

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.

lien : faq Comment affecter une formule à une cellule ?

Comment effacer une plage de cellules ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Agissons au niveau du Variant correspondant à la plage de cellules cible.

vRange.OleFunction("ClearContents");

Comment récupérer les valeurs d'une plage de cellules dans un Variant ?
Créé le 08/12/2004[haut]
auteur : 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.

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.

lien : faq Comment récupérer le contenu d'une cellule ?

Comment récupérer un objet sur une colonne de ma feuille ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Agissons au niveau du Variant correspondant à la feuille en question.

Variant vCol;
vCol = vWorksheet.OlePropertyGet("Columns", vWsCol); // vWsCol correspond à l'indice de colonne
lien : faq Comment récupérer un objet sur une ligne de ma feuille ?
lien : faq Comment récupérer un objet correspondant à la ligne/colonne complète à laquelle appartient un groupe de cellules ?

Comment récupérer un objet sur une ligne de ma feuille ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Agissons au niveau du Variant correspondant à la feuille en question.

Variant vRow;
vRow = vWorksheet.OlePropertyGet("Rows",vWsRow); // vWsRow correspond à l'indice de ligne
lien : faq Comment récupérer un objet sur une colonne de ma feuille ?
lien : faq Comment récupérer un objet correspondant à la ligne/colonne complète à laquelle appartient un groupe de cellules ?

Comment récupérer un objet correspondant à la ligne/colonne complète à laquelle appartient un groupe de cellules ?
Créé le 08/12/2004[haut]
auteur : Superstivix
Nous allons travailler sur le Variant vCell correspondant à la cellule.

Variant vCol, vRow;
vRow = vRange.OlePropertyGet("EntireRow");
vCol = vRange.OlePropertyGet("EntireColumn");
lien : faq Comment récupérer un objet sur une colonne de ma feuille ?
lien : faq Comment récupérer un objet sur une ligne de ma feuille ?


Consultez les autres F.A.Q.


Valid XHTML 1.0 TransitionalValid CSS!

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 © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni 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.

Contacter le responsable de la rubrique C++

Partenaire : Hébergement Web