PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → [WD12] classe excel, bordures, fusion cellule
[WD12] classe excel, bordures, fusion cellule
Débuté par agidrol, 14 mai 2009 20:03 - Aucune réponse
Posté le 14 mai 2009 - 20:03
Bonjour à toutes et tous,

je travail avec une classe excel, pour préparer des fichiers.
dans la classe, j'ai deux fonctions, qui font les bordures, et aussi la fusion des cellules.

quand je travail sur le fichier excel, la mise en 'page' des infos, commence à déconner, surtout sur les colonnes finissants par Z, par exemple :

il n'encadre pas correctement la cellule 'BZ', et en 'CZ', il fusionne pas.

ci joint le code. bien que je ne pense pas que c'est lui qui deconne,
vu qu'il marche tres bien sur les autres colonnes et toutes les lignes.

EXEMPLE :

myx:BORDURES("AC3:EF3",1,Faux,1,2)

---------------------------------------------------------------------------

PROCEDURE Excel::Bordures(xPlage,xTypeBordure, bLignesInterieures = Vrai, xCouleur = 1, xEpaisseur = 2)

// Affichage des bordures pour la plage sélectionnée
:xl>>Range(xPlage)>>Select()

SI bLignesInterieures ALORS
// On encadre chaque cellule de la plage
:xl>>Selection>>Borders>>LineStyle = xTypeBordure
:xl>>Selection>>Borders>>Color = xCouleur
:xl>>Selection>>Borders>>Weight = xEpaisseur // xlHairline, xlThin, xlMedium, xlThick
SINON
// On n'encadre que le contours de la plage
:xl>>Selection>>Borders(7)>>LineStyle = xTypeBordure // Gauche
:xl>>Selection>>Borders(8)>>LineStyle = xTypeBordure // Dessus
:xl>>Selection>>Borders(9)>>LineStyle = xTypeBordure // Droite
:xl>>Selection>>Borders(10)>>LineStyle = xTypeBordure // Dessous

:xl>>Selection>>Borders(7)>>Color = xCouleur // Gauche
:xl>>Selection>>Borders(8)>>Color = xCouleur // Dessus
:xl>>Selection>>Borders(9)>>Color = xCouleur // Droite
:xl>>Selection>>Borders(10)>>Color = xCouleur // Dessous

:xl>>Selection>>Borders(7)>>Weight = xEpaisseur // Gauche
:xl>>Selection>>Borders(8)>>Weight = xEpaisseur // Dessus
:xl>>Selection>>Borders(9)>>Weight = xEpaisseur // Droite
:xl>>Selection>>Borders(10)>>Weight = xEpaisseur // Dessous
FIN

-------------------------------------------------
PROCEDURE Excel::CellulesFusionner(xPlage)

:xl>>Range(xPlage)>>Select()
:xl>>Selection>>Merge()

---------------------------------------------------

Antoine