tableau croisé dynamique

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

tableau croisé dynamique

Messagepar phi » 05 Juin 2003 à 10:00

Bonjour !Je cherche à créer un tableau croisé dynamique à partir d'un script lotus et malgré mes efforts je n'ai pas réussi à faire marcher mon code (voir à la fin du sujet une des versions que j'ai écrite et qui plante, ouinnn...).Si par hasard quelqu'un voit mon(mes) erreur(s) ou a déjà implémenté un tel type tableau en lotusscript j'aimerai bien qu'il me dise comment faire, parce que là je vais craquer ! ;)Par avance merci,phi.PS: mon code lotusscript : xlApp.Rows("1:1").Select xlApp.Selection.NumberFormat = "@" xlApp.Range(xlsheet.Cells(1,1), xlsheet.Cells(rows-1,maxcols)).Select With xlsheet.PivotTableWizard ' .SourceData = "Feuil1!R1C1:R75C1"' .SourceData = "Feuil1!R1C1:R" & Cstr(rows-1) & "R" & Cstr(maxcols) .SourceData = "Feuil1!A1:J75" .Name = "GAP" .RowGrand = True .ColumnGrand = True End With ' ça plante juste au dessus )o; xlApp.Workbooks(1).Worksheets("Feuil4").Activate xlApp.Workbooks(1).Worksheets("Feuil4").Name = "GAP" xlApp.Workbooks(1).Worksheets("GAP").PivotTables("GAP").PivotFields("Motif").Orientation = "1" ' First Row xlApp.Workbooks(1).Worksheets("GAP").PivotTables("GAP").PivotFields("Noit").Orientation = "1" ' Second Row xlApp.Workbooks(1).Worksheets("GAP").PivotTables("GAP").PivotFields("Action").Orientation = "2" ' Column With xlApp.Workbooks(1).Worksheets("GAP").PivotTables("GAP").PivotFields("Action") .Orientation = "4" ' 4 = xlDataField .Name = "nb" .Function = "1" ' 1 = xlCount End With
phi
 

Re: tableau croisé dynamique

Messagepar Raziel » 05 Juin 2003 à 10:06

Salut,où et comment fais tu l'initialisation de l'objet "xlsheet" ?
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: tableau croisé dynamique

Messagepar phi » 05 Juin 2003 à 10:41

en fait j'importe des données à partir d'une vue. tout ce passe bien jusqu'à ce que je tente de créer ce tableau...phi.' ... avant ces lignes de codes, il y a l'importation mais je ne l'ai pas mis ici' l'initialisation de xlsheet est ici : Set xlApp = CreateObject("Excel.Application") xlApp.StatusBar = "Création du tableau. Veuillez patienter..." xlApp.Workbooks.Add xlApp.Visible = True xlApp.ReferenceStyle = 2 Set xlsheet = xlApp.Workbooks(1).Worksheets(1) xlApp.StatusBar = "Création des en-têtes des colonnes. Veuillez patienter..." For K = 1 To maxcols Set c = dataview.columns(K-1) If c.title = "" Then xlApp.Visible = False xlsheet.Cells(rows,cols).Value = Inputbox("Donnez un nom à la colonne " & K, "Colonne sans nom") xlApp.Visible = True Else xlsheet.Cells(rows,cols).Value = c.title End If cols = cols + 1 Next K xlApp.StatusBar = "Importation des données. Veuillez patienter..." rows = 2 Set entry = vwNav.GetFirstDocument Do While Not (entry Is Nothing) For cols = 1 To maxcols colvals = entry.ColumnValues(cols-1) scope = Typename(colvals) Select Case scope Case "STRING" xlsheet.Cells(rows,cols).Value = "'" + colvals Case Else xlsheet.Cells(rows,cols).Value = colvals End Select Next cols xlApp.StatusBar = "Importation des données (" & rows-1 & "/" & docNb & ")." rows = rows+1 Set entry = vwnav.getnextdocument(entry) Loop xlApp.StatusBar = "Mise en page des données. Veuillez patienter..." xlApp.Range(xlsheet.Cells(1,1), xlsheet.Cells(rows,maxcols)).Select xlApp.Selection.Font.Name = "Arial" xlApp.Selection.Font.Size = 9 xlApp.Selection.RowHeight = 12.75 xlApp.ReferenceStyle = 1 ' ...
phi
 

Re: tableau croisé dynamique

Messagepar phi » 05 Juin 2003 à 13:23

resalut, tu en penses quoi de mon initialisation ?phi.
phi
 

Re: tableau croisé dynamique

Messagepar Raziel » 05 Juin 2003 à 13:32

Ton init me semble bonne par contre je me demande s'il ne manque pas une étape. Peux tu nous dire quel genre d'erreur tu obtiens ?
Raziel

L'administration est un lieu ou les gens qui arrivent en retard croisent dans l'escalier ceux qui partent en avance. [Georges Courteline]
Avatar de l’utilisateur
Raziel
Modérateur
Modérateur
 
Message(s) : 1795
Inscrit(e) le : 21 Déc 2004 à 11:06
Localisation : Roubaix

Re: tableau croisé dynamique

Messagepar phi » 05 Juin 2003 à 13:53

en fait, l'erreur est : "référence invalide" !
phi
 


Retour vers Développement