PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV (précédentes versions) → COPIER FEUILLE EXCEL POUR CONSERVER LA MISE EN PAGE ET LE CONTENU
COPIER FEUILLE EXCEL POUR CONSERVER LA MISE EN PAGE ET LE CONTENU
Débuté par Florence, 18 déc. 2014 14:32 - 4 réponses
Membre enregistré
3 messages
Posté le 18 décembre 2014 - 14:32
Bonjour,
Avec WinDev 18, je souhaite modifier un fichier Excel, c'est à dire copier une feuille Excel vers une nouvelle feuille Excel pour conserver la mise en page de la feuille Excel source, la fonction XlsAjouteFeuille ne me permet pas de copier une mise en page.
Quelle solution existe ?
Merci.
Membre enregistré
962 messages
Popularité : +183 (185 votes)
Posté le 19 décembre 2014 - 02:51
hello,
tu n'es pas dans le bon forum (ici c'est webdev) mais cela n'est pas grave.
Je ne crois pas que ce que tu veux faire soit possible avec les fonctions xls de windev. Il faut plutôt utiliser OLE Automation mais cela oblige à avoir excel sur le poste où l'on veut l'utiliser. Voici deux exemples
le premier montre la duplication d'une feuille
1 - Duplication de feuilles Excel :
// Duplication de feuilles Excel
// J.P Décembre 2014
xl est un objet OLE "Excel.Application" // créer l'objet
xl>>Visible = OLEVrai // rendre excel visible ou non
xl>>workbooks>>Open("F:\test.xls") // ouvre le classeur
// on copie la feuille 1 dans une nouvelle feuille insérer Après MaFeuille1
// expression .Copy(Before, After) Before à Null donc on fait after
xl>>Sheets("MaFeuille1")>>Copy(Null,xl>>Sheets("MaFeuille1"))
// on renomme la copie de la feuille qui est la feuille active
xl>>ActiveSheet>>Name = "MaFeuille2"
// on sauvegarde le classeur
xl>>ActiveWorkbook>>Save
// Fermeture du fichier xls
xl>>WorkBooks>>Close
xl>>Quit


2 - Copier Coller de formats de cellules entres 2 feuilles Excel :
// Copier Coller de formats de cellules entre feuilles Excel
// J.P Décembre 2014
xl est un objet OLE "Excel.Application" // créer l'objet Excel
xl>>Visible = OLEVrai // rendre excel visible ou non
xl>>workbooks>>Open("F:\test.xls") // ouvre le classeur
//Copie d'une plage de cellule de la feuille MaFeuille1 dans le presse-papiers
xl>>Sheets("MaFeuille1")>>Range("A1:F10")>>Copy()
// on colle la mise en forme des cellules A1:F10 dans la Feuille Feuil3
// xlPasteAll -4104 Tout est collé.
// xlPasteFormats -4122 Le format source copié est collé.
xl>>Sheets("Feuil3")>>Range("A1:F10")>>PasteSpecial(-4122)
// on sauvegarde le classeur
xl>>ActiveWorkbook>>Save
// Fermeture du fichier xls
xl>>WorkBooks>>Close
xl>>Quit


--
Ami calmant, J.P
Membre enregistré
3 messages
Posté le 19 décembre 2014 - 08:22
merci pour ta réponse, je vais essayer et je te tiens au courant
:)
Membre enregistré
3 messages
Posté le 19 décembre 2014 - 10:53
:merci:
ok cela fonctionne, c'est pas évident de trouver de la doc sur OLE xl
merci encore et bonnes fêtes
Posté le 19 décembre 2014 - 14:08
Bonjour

pour info à tout le monde qui doit gerer du excel ou du word...

J'ai découvert il y a peu un composant appelé gembox qui fait énormément
de choses SANS que word ou excel doivent être installé, TRES rapidement,
et qui résout donc le problème de modif de document office sur un
serveur web (par exemple)... Entre autre, un mailmerger de document word
sur un site web ne pose plus de problème

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com


On 12/18/2014 8:51 PM, Jurassic Pork wrote:
hello,
tu n'es pas dans le bon forum (ici c'est webdev) mais cela n'est pas
grave. Je ne crois pas que ce que tu veux faire soit possible avec les
fonctions xls de windev. Il faut plutôt utiliser OLE Automation mais
cela oblige à avoir excel sur le poste où l'on veut l'utiliser. Voici
deux exemples le premier montre la duplication d'une feuille 1 -
Duplication de feuilles Excel :
// Duplication de feuilles Excel
// J.P Décembre 2014
xl est un objet OLE "Excel.Application" // créer l'objet
xl>>Visible = OLEVrai // rendre excel visible ou non
xl>>workbooks>>Open("F:\test.xls") // ouvre le classeur
// on copie la feuille 1 dans une nouvelle feuille insérer Après MaFeuille1
// expression .Copy(Before, After) Before à Null donc on fait after
xl>>Sheets("MaFeuille1")>>Copy(Null,xl>>Sheets("MaFeuille1"))
// on renomme la copie de la feuille qui est la feuille active
xl>>ActiveSheet>>Name = "MaFeuille2"
// on sauvegarde le classeur
xl>>ActiveWorkbook>>Save
// Fermeture du fichier xls
xl>>WorkBooks>>Close
xl>>Quit


2 - Copier Coller de formats de cellules entres 2 feuilles Excel :
// Copier Coller de formats de cellules entre feuilles Excel
// J.P Décembre 2014
xl est un objet OLE "Excel.Application" // créer l'objet Excel
xl>>Visible = OLEVrai // rendre excel visible ou non
xl>>workbooks>>Open("F:\test.xls") // ouvre le classeur
//Copie d'une plage de cellule de la feuille MaFeuille1 dans le
presse-papiers
xl>>Sheets("MaFeuille1")>>Range("A1:F10")>>Copy()
// on colle la mise en forme des cellules A1:F10 dans la Feuille Feuil3
// xlPasteAll -4104 Tout est collé.
// xlPasteFormats -4122 Le format source copié est collé.
xl>>Sheets("Feuil3")>>Range("A1:F10")>>PasteSpecial(-4122)
// on sauvegarde le classeur
xl>>ActiveWorkbook>>Save
// Fermeture du fichier xls
xl>>WorkBooks>>Close
xl>>Quit


--
Ami calmant, J.P