bonjour a tous
voila encore une petite question excel je desir passer faire du remplissage de cellule en couleur mais je ne sais vraiment pas comment mi prendre :x
une idee sur la question ?
Version imprimable
bonjour a tous
voila encore une petite question excel je desir passer faire du remplissage de cellule en couleur mais je ne sais vraiment pas comment mi prendre :x
une idee sur la question ?
Bonjour, voici un exemple de coloriage d'une plage de cellule en jaune (colorindex=19)
Consulte le tutorial http://lfe.developpez.com/Excel/ pour plus d'infosCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Variant vMSExcel,vXLWorkbooks,vXLWorkbook,vWorksheet,vCell; try { vMSExcel = Variant::GetActiveObject("Excel.Application"); // Capture d'une instance existante d'Excel } // Si Excel n'est pas déjà ouvert, une exception est levée ... catch(EOleSysError& e ) { vMSExcel = Variant::CreateObject("Excel.Application"); // Si Excel n'est pas lancé, on l'exécute } vMSExcel.OlePropertySet("Visible", true); vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks"); // nouveau classeur vXLWorkbook = vXLWorkbooks.OleFunction("Add"); // 1ère feuille vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",1); vCell = vWorksheet.OlePropertyGet("Range", "A2:B8); vCell.OlePropertyGet("Interior").OlePropertySet("ColorIndex",19);
Salut griffit:
Tu peu essayer aussi ceci
Code:
1
2
3
4
5
6
7
8
9
10
11
12 // on selectionne la cellule a modifier vMSExcel.OlePropertyGet("Range", "E4").OleProcedure("Select"); // attention les couleurs vont de 0 à 16 // on change la couleur de fond ici en jaune vMSExcel.OlePropertyGet("Selection").OlePropertyGet("Interior").OlePropertySet("ColorIndex", 6); //------------------------------------------------------- // on selectionne les cellules a modifier vMSExcel.OlePropertyGet("Range", "A2:C5").OleProcedure("Select"); // attention les couleurs vont de 0 à 16 // on change la couleur de fond ici en jaune vMSExcel.OlePropertyGet("Selection").OlePropertyGet("Interior").OlePropertySet("ColorIndex", 6);
super merci cela fonctionne mais comment trouver le code des 16 couleur ?
Salut griffit:
essaye quelque chose du genre.
Code:
1
2
3
4
5
6
7
8
9 for (int i=1; i<=16; i++) { vCell = vWorksheet.OlePropertyGet("Cells", i, 1); vWorksheet.OlePropertyGet("Cells", i, 1).OleProcedure("Select"); vCell.OlePropertySet("Value", i); vWorksheet.OlePropertyGet("Cells", i, 2).OleProcedure("Select"); vMSExcel.OlePropertyGet("Selection").OlePropertyGet("Interior").OlePropertySet("ColorIndex", i); }
Apres lecture de l'aide en ligne je me suis apercu que l'on pouvait avoir 56 couleurs
Voici le code:
Code:
1
2
3
4
5
6
7
8
9 for (int i=1; i<=57; i++) { vCell = vWorksheet.OlePropertyGet("Cells", i, 1); vWorksheet.OlePropertyGet("Cells", i, 1).OleProcedure("Select"); vCell.OlePropertySet("Value", i - 1); vWorksheet.OlePropertyGet("Cells", i, 2).OleProcedure("Select"); vMSExcel.OlePropertyGet("Selection").OlePropertyGet("Interior").OlePropertySet("ColorIndex", i - 1); }