|
| Mise en forme Excel par OLE |
| Iniciado por Jean-Michel, 28,may. 2019 06:28 - 7 respuestas |
| |
| | | |
|
| |
Miembro registrado 856 mensajes |
|
| Publicado el 28,mayo 2019 - 06:28 |
Bonjour, J'ai parfois le besoin de mettre en forme des fichiers excel qui sont générés à partie de tables. Exemple :
// Utilisation OLE pour mise en forme. // Je n'ai pas trouvé le centrage des cellules
sNomFichierXLSSave = "c:\fichier.xlsx" xl est un objet OLE "Excel.Application" IDFicXLS est un xlsDocument = xlsOuvre(sNomFichierXLSSave)
xl>>workbooks>>open(sNomFichierXLSSave)
// Sélection du 1er onglet xl>>Sheets(1)>>Select
// Sélection des colonnes pour centrer //xl>>Range(xl>>Cells(1, 5), xl>>Cells(1, 50))>>Select //xl>>ActiveWindow>>select>>xlHAlignCenter ???
// Figer les volet à partir de la ligne 2 xl>>Range("A2")>>Select xl>>ActiveWindow>>FreezePanes = True
// Adapter en largeur es colonnes automatiquement xl>>Cells>>Select xl>>Cells>>EntireColumn>>AutoFit xl>>Range("A1")>>Select
// Sauvegarde et fin xl>>ActiveWorkbook>>Save xl>>Quit() xlsFerme(IDFicXLS)
Ma question : Quel est le code pour centrer une ou des cellules ?
Merci à vous.................. J.Michel
-- Synchronize Systems International LTD Développement d'outils de gestion
Environnements AS400 – Windows Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev
Bangkok / Pattaya |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 215 mensajes |
|
| Publicado el 28,mayo 2019 - 08:59 |
Bonjour, XL>>Selection>>HorizontalAlignment = -4108 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 69 mensajes |
|
| Publicado el 28,mayo 2019 - 10:37 |
Bonjour,
Voilà ce que je fais sur mon code
Dans ma déclaration : // Classe de pilotage de Excel gpclExcel est un objet dynamique CExcel // Allocation de l'objet Excel gpclExcel = allouer un CExcel(Vrai) gpclExcel:NouveauDoc() gpclExcel:EstVisible(Faux)
Dans le remplissage des colonnes d'entête : gpclExcel:EcrireValeur("A1","FABRICANT")
Plages = "A1:L1" gpclExcel:Police(Plages,"",0,"","","","",39) gpclExcel:Aligner(CExcel::CST_CENTRE,Plages) gpclExcel:LargeurAuto(Plages)
Bonne réception,
-- AS400 – Windows - Web Langages GAP III ILE – CL – PHP- WinDev/WebDev |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 856 mensajes |
|
| Publicado el 28,mayo 2019 - 11:49 |
Pasjac, merci à toi, il faut que j'étudie car je connaos qu'en passant par OLE. Merci bien. Thierry, Merci, ça fonctionne. Je n'ai pas réussi à trouver une doc avec toutes les commandes, tu sais où je peux ma la procurer ?
En tous les cas. Bravo et merci.
-- Synchronize Systems International LTD Développement d'outils de gestion
Environnements AS400 – Windows Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev
Bangkok / Pattaya |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 215 mensajes |
|
| Publicado el 28,mayo 2019 - 12:13 |
Non moi je passe par Excel et j'enregistre une macro puis tu vas dans ta macro, tu clic sur modifier et cela t'ouvre visual basic. Après il faut adapter pour windev. Tu peux ouvrir aussi sous visual basic l'explorateur d'objets F2, Faire une recherche sur par exemple xlCenter. Voir l'image ci-dessous et en bas du tableau tu as Const xlCenter=-4108

|
| |
| |
| | | |
|
| | |
| |
Miembro registrado 948 mensajes |
|
| Publicado el 28,mayo 2019 - 13:23 |
Bonjour, En règle générale, lorsque-vous recherchez la syntaxe d'une commande Il suffit de lancer Excel, onglet «AFFICHAGE» «Macros» puis «Enregistrer une macro» Donnez un nom à votre macro (par défaut «Macro1») De retour sur la feuille Excel effectuez l'action dont vous désirez avoir le code. Exemple : onglet «ACCUEIL» bouton «Centrer» Cliquez sur l'onglet «AFFICHAGE» «Macros» puis «Arrêter l'enregistrement» Cliquez sur l'onglet «AFFICHAGE» «Macros» puis «Afficher les macros» Sélectionnez votre macro et cliquez sur le bouton «Modifier» Vous obtenez : Sub Macro1() With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With End Sub Ce qui setraduit en WDlangage par : xl>>Range(pSelection)>>HorizontalAlignment = xlCenter //pSelection est une chaîne contenant la ou les cellules à centrer "A4" ou "B5:B7"
Pour la liste des constantes (ex : xlCenter) il suffit de chercher sur google «Excel xlCenter» Perso j'ai un fichier cteEXCEL.wl (c'est du texte) contenant les 2215 constantes et dans le code du projet j'ai EXTERNE "D:\Mes Projets\Essais\cteEXCEL.wl" |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 856 mensajes |
|
| Publicado el 28,mayo 2019 - 14:18 |
Merci Philippe, très judicieux !
-- Synchronize Systems International LTD Développement d'outils de gestion
Environnements AS400 – Windows Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev
Bangkok / Pattaya |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 948 mensajes |
|
| Publicado el 28,mayo 2019 - 14:29 |
| |
| |
| | | |
|
| | | | |
| | |
|