Style des cellules Excel (VB.Net)

gaybarre Messages postés 11 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 9 juillet 2004 - 13 janv. 2004 à 14:51
gaybarre Messages postés 11 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 9 juillet 2004 - 14 janv. 2004 à 08:24
Bonjour,

Je cherche à appliquer un style (Percent par exemple) à une cellule ou une plage dans une feuille Excel depuis VB.Net.

J'ai essayé comme suit :

private curRange as Excel.Range
...

curRange = xlsheet.cells(l,c)curRange.style "Percent" ou curRange.style.name "Percent"

(xlSheet est défini comme ma feuille de travail active, l et c sont la ligne et la colonne que je veux mettre en forme)

Et là, j'ai une exception qui me dit que Percent n'est pas un style valide

Comment faire ?

Merci de votre aide

5 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
13 janv. 2004 à 15:51
labout
As tu essayé
curRange = xlsheet.cells(l,c)

CurRange.NumberFormat = "0.00%" pour 2 décimales
CurRange.NumberFormat = "0" pour pas de décimale
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
13 janv. 2004 à 15:52
labout
As tu essayé
curRange = xlsheet.cells(l,c)

CurRange.NumberFormat = "0.00%" pour 2 décimales
CurRange.NumberFormat = "0%" pour pas de décimale
0
gaybarre Messages postés 11 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 9 juillet 2004
13 janv. 2004 à 17:17
Merci de ta réponse.

En fait, ça marche presque ! C'est à dire que le style "0.00 %" va bien être appliqué à la cellule, mais il ne comprend pas que on cherche à calculer un pourcentage. Par exemple, 30/100 n'affichera pas 30.00% mais 0.30%.

J'ai fini par trouver après pas mal de recherches, il faut lui dire curRange.Style = "Pourcentage" (et non pas Percent !!!), ce qui applique le style pourcentage prédéfini d'Excel, mais sans décimale. Si je veux affiner et avoir 2 décimales, je dois lui spécifier en plus :curRange.Style.numberformat "0,00%" (noter la , à la place d'un . et pourtant dans mes paramètres de config, j'ai bien séparateur décimal point)

Et là, c'est OK. Si tu peux m'expliquer pourquoi d'un seul coup il faut lui donner des paramètres en français (le mot pourcentage et la virgule), je suis preneur.

Merci
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
13 janv. 2004 à 18:07
labout
J'ai rencontré ce problème avec NT 2000 il faut Sum alors qu'avec XP c'est Somme
C'est encore une fantaisie de Bill.
Alors Bonjour lorsqu'il faut porter une appli sur plusieirs systems.
La , dépends de ta configuration Window.
Pour le savoir j'utilise une fonction TestVirgule

Function bTestVirgule as boolean
Dim stest as string
sTest=str(3/2)
if instr(stest,",")>0 then
bTestVirgule=true
else
sTestVirgule=false
endif
end function
Bye
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gaybarre Messages postés 11 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 9 juillet 2004
14 janv. 2004 à 08:24
En effet, je viens de passer sur XP. La petite fonction du test de la virgule est simple mais efficace et très utile.
En tous cas, merci pour le tuyau.

A +
0
Rejoignez-nous