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
        Comment récupérer toutes les cellules d'une feuille ?
        Comment récupérer une cellule à partir de son adresse ?
        Comment utiliser la recherche au niveau d'une plage de cellules ?
        Comment insérer ou supprimer une cellule ?
11.2.4.1. Manipulation des cellules (13)
                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 ?
11.2.4.2. Mise en forme des cellules (26)
                Comment masquer une ligne/colonne ?
                Comment fusionner des cellules ?
                Comment dissocier des cellules ?
                Comment modifier la hauteur d'une ligne ?
                Comment modifier la largeur d'une colonne ?
        11.2.4.2.1. Contenu des cellules (11)
                        Comment récupérer un objet contenant les informations sur la police de caractères ?
                        Comment mettre la police de caractères en gras ?
                        Comment mettre la police de caractères en italique ?
                        Comment mettre la police de caractères en souligné ?
                        Comment définir la taille de la police de caractères ?
                        Comment modifier le type/nom de la police de caractères ?
                        Comment modifier la couleur de la police de caractères ?
                        Comment modifier l'alignement d'une cellule ou d'un groupe de cellules ?
                        Comment définir le format des données pour une cellule ou un groupe de cellules ?
                        Comment insérer un nouveau commentaire sur un groupe de cellules ?
                        Comment supprimer un commentaire sur un groupe de cellules ?
        11.2.4.2.2. Taille des cellules (4)
                        Comment forcer le contenu d'une cellule à s'adapter aux dimensions de celle-ci ?
                        Comment forcer le retour à la ligne lorsque le texte est trop long ?
                        Comment ajuster la largeur de la colonne/hauteur de ligne en fonction du contenu ?
                        Comment changer l'orientation du texte d'un groupe de cellules ?
        11.2.4.2.3. Manipulation de bordures (6)
                        Comment récupérer le cadre d'une cellule ou d'un groupe de cellules dans un objet ?
                        Comment récupérer une seule partie des bordures d'un encadrement ?
                        Comment définir le type de bordure pour un encadrement ou une partie d'encadrement ?
                        Comment définir l'épaisseur d'une bordure ?
                        Comment définir le cadre autour d'une plage de cellules ?
                        Comment définir la couleur d'une bordure ?
11.2.4.3. Plages de sélection (11)
                Comment associer un nom à une plage de cellule ?
                Comment récupérer la cible en fonction du nom ?
                Comment agrandir ou rétrécir une plage de cellules ?
                Comment décaler une plage de cellules ?
                Comment faire une copie d'une plage de cellules ?
                Comment obtenir l'union ou l'intersection de plusieurs groupes de cellules ?
                Comment récupérer la définition d'une plage d'adresses au format Excel ?
                Comment récupérer la plus grande zone remplie d'une plage de cellules ?
                Comment récupérer des plages particulières ?
                Comment sélectionner une plage de cellules ?
                Comment sélectionner plusieurs plages de cellules ?



Comment récupérer toutes les cellules d'une feuille ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Travaillons avec un Variant correspondant à la feuille.

Variant vCells;
vCells = vWorksheet.OlePropertyGet("Cells");
lien : faq Comment déterminer la zone utile ou le nombre de lignes/colonnes utiles dans ma feuille ?

Comment récupérer une cellule à partir de son adresse ?
Créé le 08/12/2004[haut]
auteur : Ricky81
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.

Variant vCell;
vCell = vMSExcel.OleFunction("Evaluate", "A1");
Remarque : c'est un raccourci intéressant vous évitant d'avoir à passer par les éléments intermédiaires que sont le classeur et la feuille.

Attention : n'oubliez pas de tenir compte du format actuel de définition des cellules (A1 ou L1C1).

lien : faq Comment accéder à une cellule définie au format Excel (ex. A1 ou L1C1) ?
lien : faq Comment créer une nouvelle instance d'Excel ?
lien : faq Comment récupérer l'instance active d'Excel ?
lien : faq Comment définir/changer le mode d'affichage des feuilles (L1C1 ou A1) ?

Comment utiliser la recherche au niveau d'une plage de cellules ?
Créé le 08/12/2004[haut]
auteurs : Bidou, Ricky81
Les méthodes Find et FindNext permettent d'effectuer une recherche sur une plage de cellules.
Considérons donc le Variant vRange.

Variant vCell;
vCell = vRange.OleFunction("Find", "ricky81"); // recherche de la valeur "ricky81"
La fonction renvoie donc la première cellule rencontrée contenant la valeur recherchée. Pour poursuivre la recherche, il est nécessaire de faire appel à la fonction FindNext à laquelle on passe en paramètre la cellule à partir de laquelle la recherche doit se faire.

vCell = vRange.OleFunction("FindNext", vCell);
Etant donné que la cellule passée en paramètre contient la valeur recherchée, il n'est pas nécessaire de la déclarer.

Attention : 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.


Comment insérer ou supprimer une cellule ?
Créé le 08/12/2004[haut]
auteur : Ricky81
Agissons au niveau du Variant correspondant à un cellule.

Pour insérer :

vCell.OleProcedure("Insert", shift);
shift correspond au décalage à effectuer. Il peut prendre les valeurs de la classe XlInsertShiftDirection :

xlShiftDown = -4121
xlShiftToRight = -4161
Pour supprimer :

vCell.OleProcedure("Delete", shift);
shift correspond au décalage à effectuer. Il peut prendre les valeurs de la classe XlDeleteShiftDirection :

xlShiftUp = -4162
xlShiftToLeft = -4159
Remarque : ces opérations peuvent bien entendu également être réalisées sur un plage de cellules, et plus particulièrement une colonne ou une ligne.

lien : faq Comment savoir si la suppression de lignes ou de colonnes est permise ?
lien : faq Comment savoir si l'insertion de lignes ou de colonnes est permise ?


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