Couleur DataGridViewBox vers Excel

Signaler
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014
-
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014
-
Salut !
J'ai fait une classe qui recopie une DataGridViewBox quelque soit son nombre de lignes ou de colonnes dans un tableur excel (pour imprimer). Si quelqu'un est intéressé, qu'il me contacte, je la lui filerai.
Mais j'aimerais pouvoir donner aux cellules excel la couleur des cellules de la DataGridViewBox.
Comment récupérer la couleur d'une DataGridViewBox.Rows[i].Cells[i] ?
Comment attribuer une couleur à une Microsoft.Office.Interop.Excel.
Range r;

En fait, si j'arrivais à récupérer la couleur de fond, de la police et la police en elle même, ce serait encore mieux !

Merci d'avance ...
 
MMN

4 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
49
J'ai rien pour tester, alors a l'aveugle je dirais :

pour recupere la couleur d'une cell du datagridview
   tonDatagrid.Rows[taRow].Cells[taCell].Style.BackColor

Pour l'affecter via l'automation Excel
   tonRange.Interior.Color (ou ColorIndex) ?
Par contre ce n'est qu'une piste, pas sur de moi a 100% (ni meme a 80)

Mx
MVP C# 
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
49
J'ajoute que pour ce qui est du DatagridView, via la propriété Style, tu peux aussi recuperer la Font, taille, etc... Comme tu le souhaite.

Pour la mettre dans Excel... Bah va falloir Explorer ^^

Mx
MVP C# 
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

merci c cool

MMN
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

J'arrive toujours pas à donner une couleur à un champ excel.
Mon champ est défini comme ça :

object Missing = System.Reflection.
Missing.Value;

String fileName = CheminDocs() +
"Vierge.xls";Microsoft.Office.Interop.Excel.

_Application xlApp;Microsoft.Office.Interop.Excel.

_Workbook xlClasseur;Microsoft.Office.Interop.Excel.

_Worksheet xlFeuill;xlApp =

new Microsoft.Office.Interop.Excel.Application();xlApp.Visible true;xlClasseur xlApp.Workbooks.Open(fileName,

Missing, Missing, Missing, Missing,

Missing, Missing, Missing, Missing,

Missing, Missing, Missing, Missing,

Missing, Missing);

Microsoft.Office.Interop.Excel.

Sheets xlFeuilles = xlClasseur.Sheets;
xlFeuill = (Microsoft.Office.Interop.Excel.

_Worksheet)xlFeuilles[
"A"];Microsoft.Office.Interop.Excel.

Range r;r = xlFeuill.get_Range(

"A1", Missing);r.set_Value(Microsoft.Office.Interop.Excel.

XlRangeValueDataType.xlRangeValueDefault, "SALUT");

et après j'essaye :

r.Interior.ColorIndex=Color.red;

mais ça marche pas.

MMN