Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#26 28-08-2007 11:45:16

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Okay, j'ai compris

mais moi je fais du PB que depuis 2mois 1/2

Dernière modification par Mr Pink Eyes (28-08-2007 11:45:43)


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#27 28-08-2007 11:49:44

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Chrnico a écrit:

Non, mais mon code traite aussi ..., il limite ... il ne ..., il ..., il permet de..., etc...

A lieu de te vanter, ouvre une balise [CODE = pb] et montre nous ça

Mr Pink Eyes a écrit:

Okay, j'ai compris

mais moi je fais du PB que depuis 2mois 1/2

Bruno, ton code répond à tes besoins et je trouve que tu as fait du très bon travail


never let people work on more than one thing at once.

Hors ligne

 

#28 28-08-2007 11:55:44

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#29 28-08-2007 12:15:55

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

JCZ a écrit:

shahin a écrit:

1) Tu l'enregistre au format html et tu force Excel à l'ouvrir (via OLE)

Cela marche bien mais j'ai un probleme d'ajustement des lignes & colonnes
Les cellules sont complement deformées
Y a t il un moyen de resoudre ce probleme ?

JCZ a écrit:

Avec http://www.desta.com.ua/pb2xls/
qqu 'un a du code pour générer directement un fichier Excel à l'identique d'une DW existante


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#30 28-08-2007 12:16:48

fmxstyle  
Membre Geek
Date d'inscription: 02-08-2007
Messages: 43
Pépites: 141
Banque: 0

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Ouai ba évidemment qu'un test sur la proprieté visible de mon champ de DW permet de ne récupérer que les champs visible de ma DW, je suis un peu fatigué today j'aurai du y pensé pfffffff... ok impec pour ca.

sinon suis d'accord pour le :

Wahouuuuu Wazou1812 !

En revanche je ne comprends l'utilité de créer un modele excel sous excel revenir le sauvegarder via PB et retravailler mes cellule et la mise en forme via PB... Etant donné que je pars de PB et que la creation du modele ainsi que la en mise en forme se fera depuis PB... Faut simplement que je puisse parler de mise en forme à mon excel via OLE apres ca devrait aller, non ?

Si ton but etait d'utiliser et de réaliser un modele excel servant de support et préalablement mis en forme (types des cellules, mise en page et definition de la zone d'impression, police, taille, gras, couleur du texte et compagnie...) manuellement, cette solution ne peut convenir car elle conduit à créer un fichier excel support pour chacuns des futurs ecrans que l'on va me demander de réaliser, ce qui ne me convient que très peu.

Mais l'idée pour démarrer est bonne je vais voir comment approfondir la chose...


De coluche : "Quand on voit la tristesse des biknites, on comprend pourquoi c'est interdit le hackique et on se dit que le pinard ça devrait être obligatoire!"

Hors ligne

 

#31 28-08-2007 12:33:13

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

L'idée du modèle consiste à faire l'ensemble du design dans Excel, et avec PB de ne remplir que les cellules.

Mais effectivement cela oblige d'avoir un modèle à chaque fois.

Sachant qu'un classeur Excel peut contenir plusieurs feuilles, tu peux également avoir un seul classeur dont chacune des feuilles constituera un modèle. Ainsi cela ne te fera qu'un seul fichier.

Hors ligne

 

#32 28-08-2007 13:06:52

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

shahin a écrit:

Chrnico a écrit:

Non, mais mon code traite aussi ..., il limite ... il ne ..., il ..., il permet de..., etc...

A lieu de te vanter, ouvre une balise [CODE = pb] et montre nous ça

Mr Pink Eyes a écrit:

Okay, j'ai compris

mais moi je fais du PB que depuis 2mois 1/2

Bruno, ton code répond à tes besoins et je trouve que tu as fait du très bon travail

Je veux bien aider qui veut à résoudre ses problèmes ou améliorer son code. De là à diffuser le code de la bibliothèque d'objets de N2I que j'améliore depuis pas mal d'années et qui me permet de gagner ma croute via mon métier d'éditeur, il y a un pas que je suis pas certain de vouloir franchir maintenant. J'espère que tu me comprends...


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#33 28-08-2007 13:10:07

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Mr Pink Eyes a écrit:

Okay, j'ai compris

mais moi je fais du PB que depuis 2mois 1/2

Début très prometteur !


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#34 28-08-2007 13:32:33

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Bon, juste un extrait de la fonction (elle fait 400 lignes).
Voir les deux évaluate ci-dessous pour s'en inspirer.
Le premier (celui dont je parlé dans mon premier post), le deuxième pour récupérer la valeur des DDLB et DDDW.

Code: PB

If (ads_param.Describe("Evaluate( "+visibleFormula+",1)") = "0" ) and (  lstr_tri[li_i].s_visible = 'YES') Then
    setnull(ls_text_tmp)
Else
    CHOOSE CASE lstr_tri[li_i].s_type
  CASE "ListBox"
    ls_text_tmp = ads_param.describe( "Evaluate('LookUpDisplay("+ lstr_tri[li_i].s_objet +")', "+string(ll_row)+" )")
            
  CASE "char(" , "char"      //  CHARACTER DATATYPE
    ls_text_tmp = ads_param.GetItemString ( ll_row, lstr_tri[li_i].s_objet, Primary!, FALSE ) 
            
  CASE "date"          //  DATE DATATYPE
    ls_text_tmp = string(ads_param.GetItemDate ( ll_row, lstr_tri[li_i].s_objet, Primary!, FALSE ) ,shortdate)
          
  CASE "datet"        //  DATETIME DATATYPE
    if lstr_tri[li_i].s_format <> "" then
      ls_text_tmp = string(ads_param.GetItemDateTime ( ll_row, lstr_tri[li_i].s_objet, Primary!, FALSE ) ,shortdate)
    else
      ls_text_tmp = string(ads_param.GetItemDateTime ( ll_row, lstr_tri[li_i].s_objet, Primary!, FALSE ) , shortdate + "[time]")                
    end if
          
  CASE "decim"        //  DECIMAL DATATYPE
    ls_text_tmp = string(ads_param.GetItemDecimal ( ll_row, lstr_tri[li_i].s_objet, Primary!, FALSE ) )
            
  CASE "numbe", "long", "ulong", "real"        //  NUMBER DATATYPE  
    ls_text_tmp = string(ads_param.GetItemNumber ( ll_row, lstr_tri[li_i].s_objet, Primary!, FALSE ) )
            
  CASE "time", "times"    //  TIME DATATYPE
    ls_text_tmp = string(ads_param.GetItemTime ( ll_row, lstr_tri[li_i].s_objet, Primary!, FALSE ) ,"[time]" )
          
END CHOOSE

Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#35 28-08-2007 13:40:55

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Et avec pb tu peux aussi mettre de la couleur sur une ou plusieurs cellule et/ou sur une ligne entière.

Code: pb

//exemple : pour mettre du rouge sur les cellules
Io_Excel.Application.workbooks(ai_workbook).worksheets(as_worksheet).Cells(ai_cell_deb, ai_cell_fin).Interior.Color = RGB(255,0,0)

Code: pb

//exemple : pour mettre du rouge sur toute la ligne
Io_Excel.Application.workbooks(ai_workbook).worksheets(as_worksheet).Rows(ai_cell_deb).Interior.Color = RGB(255,0,0)

Hors ligne

 

#36 28-08-2007 13:45:41

fmxstyle  
Membre Geek
Date d'inscription: 02-08-2007
Messages: 43
Pépites: 141
Banque: 0

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Bon deja la sauvegarde en HTML ne fonctionne pas (essai de la methode saveas en HTML) sur ma DW. Ca commence ... l'execution de ce code apres le remplissage de ma DW avec mes données (50 lignes) PLANTE !

long numcols , numrows , c, r
OLEObject xlapp , xlsub
int ret
string docname

docname = "c:\test.html"

ret = dw_cash_flow.saveas(docname, HTMLTable!, true)

if ret < 1 then
    MessageBox("Save Datawindow to Html file failed !",string(ret))
    return
end if

Dernière modification par fmxstyle (28-08-2007 13:46:02)


De coluche : "Quand on voit la tristesse des biknites, on comprend pourquoi c'est interdit le hackique et on se dit que le pinard ça devrait être obligatoire!"

Hors ligne

 

#37 28-08-2007 13:50:23

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

et tu es dans quelle version de pb ??

Hors ligne

 

#38 28-08-2007 13:56:36

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Il plante completement ou il te renvoie un code retour d'erreur ?


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#39 28-08-2007 14:13:14

fmxstyle  
Membre Geek
Date d'inscription: 02-08-2007
Messages: 43
Pépites: 141
Banque: 0

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Bon je me dis la chose suivante :

Etant donné la contrainte de ne voir que les colonnes visible ainsi que leurs mises en forme à l'ecran, je ne vais pas passé par un save préalable en EXCEL de ma datawindow (elle sauvegarde toutes les colonnes non visible egalement) mais je vais plutot le créer de toute pièces via l'objet OLE pilotant EXCEL.

Je vais parcourir ma DW par colonnes et par lignes dans une boucle. Je vais recuperere via le DESCRIBE et les EVALUATE chacune des valeurs de mise en forme des cellules dans des variables puis les affecter via OLE dans la cellule d'EXCEL.

Reste le probleme d'afficher les valeurs de mes cellules groupes et les computed fields de calcul de totaux (encore qu'il porte la même entete de nom de colonnes "cf_N" donc je peux les atteindre normalement)...

Pour le moment, je ne saurai qu'insérer les données d'une DW simple avec des champs de type EDIT dans EXCEL, restera également à gérer l'affichage des valeurs d'un champ de type DDDW ou DDLB...

Si quelqu'un peut m'anticiper le probleme d'acces aux valeurs de mes groupes et de mes computed field en footage de ma DW ce serait le top.

Merci à Chrnico pour le rateau de cast des données de la datawindow proposé plus haut, j'y avais pensé pour préparer mes données avant de les insérer dans un format adapté dans EXCEL.


De coluche : "Quand on voit la tristesse des biknites, on comprend pourquoi c'est interdit le hackique et on se dit que le pinard ça devrait être obligatoire!"

Hors ligne

 

#40 28-08-2007 14:15:16

fmxstyle  
Membre Geek
Date d'inscription: 02-08-2007
Messages: 43
Pépites: 141
Banque: 0

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Suis desormais sous la V10.5 mais te prends pas la tête sur ca, je vais laisser tombé l'idée d'un premier save de ma DW avant l'utilisation de mon nouvel objet OLE puisqu'il y a toutes les colonnes d'affichées ... vu que j'en veux pas lol


De coluche : "Quand on voit la tristesse des biknites, on comprend pourquoi c'est interdit le hackique et on se dit que le pinard ça devrait être obligatoire!"

Hors ligne

 

#41 28-08-2007 14:23:32

fmxstyle  
Membre Geek
Date d'inscription: 02-08-2007
Messages: 43
Pépites: 141
Banque: 0

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Quelqu'un a une bout de code permettant de définir les proprietes d'une cellule EXCEL (font, couleur, taille, gras, etc...) via OLE dans PB ?


De coluche : "Quand on voit la tristesse des biknites, on comprend pourquoi c'est interdit le hackique et on se dit que le pinard ça devrait être obligatoire!"

Hors ligne

 

#42 28-08-2007 14:24:16

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Pour les computed Field, si tu n'arrives pas a y acceder, tu peux placer une formule sur ta cellule avec un truc du genre :

Code: pb

TaCellule.Formula = "=SUM(E2:E6)"


Mr Pink Eyes a écrit:

Alors, je donne un début de code, qui contient notamment la création de l'objet, l'écriture d'un header et la sauvegarde du document :

Code: pb

xlsub.cells[1,1].font.bold=true //texte en gras
xlsub.cells[1,1].Interior.ColorIndex = 36 //cellule avec un fond jaune clair


(...)

Et pour l'autosize :

Code: pb

//Loop thru the Excel sheet columns to Autofit
for c = 1 to 5
  xlsub.cells[1,c].EntireColumn.AutoFit
next

La couleur peut etre gerer par la méthode RGB(x,y,z) d'après ce qu'a dit Wazou

Dernière modification par Mr Pink Eyes (28-08-2007 14:27:57)


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#43 28-08-2007 14:27:17

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

fmxstyle a écrit:

Quelqu'un a une bout de code permettant de définir les proprietes d'une cellule EXCEL (font, couleur, taille, gras, etc...) via OLE dans PB ?

la couleur je l'avais mis plus haut , voici pour le gras d'une cellule ou d'une ligne

Code: pb

//Mise en gras de la ligne
  Io_Excel.Application.workbooks(ai_workbook).worksheets(as_worksheet).Rows(ai_ligne ).Font.Bold = true
else
  //Mise en gras des cellules.
  Io_Excel.Application.workbooks(ai_workbook).worksheets(as_worksheet).cells(ai_cellule_debut,ai_cellule_fin ).Font.Bold = true


voilà pour mettre des cadres en gras

Code: pb

io_Excel.Application.workbooks(ai_workbook).worksheets(as_worksheet).Range(as_colonne_debut + string(ai_ligne_debut) + ":" + as_colonne_fin+ string(ai_ligne_fin)).borders.Item(ai_item).Weight = 2

Hors ligne

 

#44 28-08-2007 14:29:35

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Jette vraiment un oeil sur ce document : http://support.microsoft.com/kb/219151/fr, il est plein de bons trucs


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#45 28-08-2007 14:39:41

fmxstyle  
Membre Geek
Date d'inscription: 02-08-2007
Messages: 43
Pépites: 141
Banque: 0

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Ouai je connais bvien cette page car j'ai déjà écrit un programme en VB qui pilotait excel et mettait en forme les cellules d'un classeur... je vois mais faut la bonne syntaxe pour faire fonctionner sous PB... a moins que ce ne soit pareil (je verifie actuellement).

Merci à la modo pour les portions de code, tu semble assez competente et à l'aise sur le sujet du jour...


De coluche : "Quand on voit la tristesse des biknites, on comprend pourquoi c'est interdit le hackique et on se dit que le pinard ça devrait être obligatoire!"

Hors ligne

 

#46 28-08-2007 14:50:05

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

fmxstyle a écrit:

Ouai je connais bvien cette page car j'ai déjà écrit un programme en VB qui pilotait excel et mettait en forme les cellules d'un classeur... je vois mais faut la bonne syntaxe pour faire fonctionner sous PB... a moins que ce ne soit pareil (je verifie actuellement).

A une vache près, c'est la même chose. En tout cas pour l'accès aux propriétés.


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#47 28-08-2007 15:09:52

fmxstyle  
Membre Geek
Date d'inscription: 02-08-2007
Messages: 43
Pépites: 141
Banque: 0

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

Quelqu'un pourrait il me dire comment récuperer aisément les valeurs de mise en forme de la cellule affichée dans ma datawindow. Attention je parle de la cellule non pas de la colonne.

RAPPEL => je travaille ligne à ligne, cellule par cellule donc il me faut pouvoir parler à ma DW sur la cellule elle même

Merci d'avance, je progresse petit à petit...


De coluche : "Quand on voit la tristesse des biknites, on comprend pourquoi c'est interdit le hackique et on se dit que le pinard ça devrait être obligatoire!"

Hors ligne

 

#48 28-08-2007 15:14:52

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

fmxstyle a écrit:

Merci à la modo pour les portions de code, tu semble assez competente et à l'aise sur le sujet du jour...

Merci,

Et c'est effectivement ce qui m'avait donné le plus de problème à l'époque, c'était de trouver la bonne syntaxe de pb par rapport à toutes les possibilités que nous avons à notre disposition.

bonne chance.

Hors ligne

 

#49 28-08-2007 15:18:10

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

fmxstyle a écrit:

Quelqu'un pourrait il me dire comment récuperer aisément les valeurs de mise en forme de la cellule affichée dans ma datawindow. Attention je parle de la cellule non pas de la colonne.

RAPPEL => je travaille ligne à ligne, cellule par cellule donc il me faut pouvoir parler à ma DW sur la cellule elle même

Merci d'avance, je progresse petit à petit...

Utilise l'Evaluate dans le describe comme dit précédement.
Cela permet d'évaluer la valeur d'une propriété d'une colonne pour une ligne donnée, donc d'une cellule !


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#50 28-08-2007 16:04:27

fmxstyle  
Membre Geek
Date d'inscription: 02-08-2007
Messages: 43
Pépites: 141
Banque: 0

Re: Exporter une DW mise en forme dyn. dans PB vers EXCEL

J'ai un probleme pour la recup de la valeur de la couleur de fond d'une cellule....

For c = 1 to numcols
   
    colname         = dw_cash_flow.describe("#" + string(c) + ".name")
    col_VISIBLE    = dw_cash_flow.describe("#" + string(c) + ".visible")
       
    if integer(col_VISIBLE) = 1 then
        For r = 1 to numrows
            col_TYPE            = dw_cash_flow.describe(colname + ".coltype")
            col_BACKCOLOR              = dw_cash_flow.describe("Evaluate("+ "'" + colname + ".BackGround.Color, "+ "'" + string(r)  + ")" )
                       
            xlsub.cells[r,c]                   = dw_cash_flow.object.data[r,c]
            xlsub.cells[r,c].Interior.Color     = long(col_BACKCOLOR)
           
        Next
    end if
Next

Qu'est ce qui ne va pas c'est pas COLOR le nom de la propriété pourtant non ?


De coluche : "Quand on voit la tristesse des biknites, on comprend pourquoi c'est interdit le hackique et on se dit que le pinard ça devrait être obligatoire!"

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22