| auteur : Ricky81 | Supposons qu'une cellule ou un groupe de cellule soit associé à un nom (en l'occurrence "ricky81"). Nous allons chercher ici à récupérer un Variant sur ce groupe de cellules. Travaillons au niveau de la feuille concernée représentée par le Variant
vWorksheet.
Variant vNames, vRange;
vNames = vWorksheet.OlePropertyGet (" Names " );
vRange = vNames.OleFunction (" Item " , " ricky81 " ).OlePropertyGet (" RefersToRange " )
|
|
lien : Comment récupérer une cellule à partir de son adresse ?
|
| auteur : Ricky81 | Nous allons pour cela travailler au niveau d'un Variant
vRange représentant un plage de cellules.
Variant vNewRange;
vNewRange = vRange.OlePropertyGet (" Resize " , rowsize, columnsize);
|
Les variables rowsize et columnsize sont les tailles attendues pour la nouvelle plage. Cette plage est obtenue en partant de la cellule supérieure gauche de la plage initiale.
|
lien : Comment décaler une plage de cellules ?
|
| auteur : Ricky81 | Nous allons pour cela travailler au niveau d'un Variant
vRange représentant une plage de cellules.
Variant vNewRange;
vNewRange = vRange.OleProcedure (" Offset " , rowoffset, columnoffset);
|
Les variables rowoffset et columnoffset sont les déplacements attendus par rapport à la plage initiale.
|
lien : Comment agrandir ou rétrécir une plage de cellules ?
|
| auteur : Ricky81 | Agissons au niveau du Variant correspondant à la plage de cellules cible.
vRange.OleProcedure (" Copy " , vCell);
|
|
| auteur : Ricky81 | Nous allons pour cela travailler au niveau d'un Variant
vRange représentant une plage de cellules.
Le code suivant renvoie la plage en cours dans laquelle est l'objet Range. On entend par plage en cours, l'ensemble des cellules limitées par une combinaison de lignes et de colonnes vides en partant du coin supérieur gauche défini par la plage.
Variant vRegion;
vRegion = vRange.OlePropertyGet (" CurrentRegion " );
|
|
lien : Comment déterminer la zone utile ou le nombre de lignes/colonnes utiles dans ma feuille ?
|
| auteur : Ricky81 | Nous allons travailler au niveau d'un Variant
vRange représentant un plage de cellules. Voici quelques exemples :
- Des cellules vides :
Variant vBlankCells;
vBlankCells = vRange.OlePropertyGet (" SpecialCells " , xlCellTypeBlanks);
|
- Des cellules constantes contenant du texte :
Variant vTextCells;
vTextCells = vRange.OlePropertyGet (" SpecialCells " , xlCellTypeConstants, xlTextValues);
|
- Des cellules constantes contenant une valeur numérique :
Variant vNumbersCells;
vNumbersCells = vRange.OlePropertyGet (" SpecialCells " , xlCellTypeConstants, xlNumbers);
|
- Des cellules contenant une formule :
Variant vFormulaCells;
vFormulaCells = vRange.OlePropertyGet (" SpecialCells " , xlCellTypeFormulas);
|
Pour davantage d'éléments, les différentes valeurs possibles pour le second et le troisième paramètre sont respectivement des constantes des classes XlCellType et XlSpecialCellsValue.
|
| auteur : blondelle | Pour sélectionner une plage de cellules, il faut au préalable avoir définit la plage, par exemple en délimitant la zone avec 2 cellules. Il suffit ensuite d'appeler la fonction Select :
vWorksheet.OlePropertyGet (" Range " , vCell1, vCell2).OleFunction (" Select " );
|
|
| auteur : blondelle | Pour sélectionner plusieurs plages de cellules, il faut au préalable avoir défini les plages, par exemple en délimitant la zone avec 2 cellules. Une fois cela fait, il faut unir les sélections grace à la fonction Union. Il suffit ensuite d'appeler la fonction Select : vWorksheet.OleProcedure (" Activate " );
Variant Aire1 = vWorksheet.OlePropertyGet (" Range " , vWorksheet.OlePropertyGet (" Cells " ,1 ,1 ),vWorksheet.OlePropertyGet (" Cells " ,2 ,2 ));
Variant Aire2 = vWorksheet.OlePropertyGet (" Range " , vWorksheet.OlePropertyGet (" Cells " ,3 ,3 ),vWorksheet.OlePropertyGet (" Cells " ,4 ,4 ));
Variant Aire3 = vWorksheet.OlePropertyGet (" Range " , vWorksheet.OlePropertyGet (" Cells " ,8 ,2 ),vWorksheet.OlePropertyGet (" Cells " ,14 ,6 ));
Variant mesMultiAires = vMSExcel.OleFunction (" Union " , Aire1, Aire2, Aire3);
mesMultiAires.OleProcedure (" Select " );
Variant lign1 = Aire1.OlePropertyGet (" Rows " ).OlePropertyGet (" Count " );
Variant colon1 = Aire1.OlePropertyGet (" Columns " ).OlePropertyGet (" Count " );
Variant lign2 = Aire2.OlePropertyGet (" Rows " ).OlePropertyGet (" Count " );
Variant colon2 = Aire2.OlePropertyGet (" Columns " ).OlePropertyGet (" Count " );
Variant lign3 = Aire3.OlePropertyGet (" Rows " ).OlePropertyGet (" Count " );
Variant colon3 = Aire3.OlePropertyGet (" Columns " ).OlePropertyGet (" Count " );
|
|
Consultez les autres F.A.Q.
|
|