Gestion fichier excel poussé...

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

Messagepar Gillou13 » 26 Fév 2009 à 17:50

bon, je met le problème en stand by.

déjà, quand j'essaie d'exécuter la macro dans excel sa plante!!!

je fait "enregister nouvelle macro" > créé le tableau avec l'interface excel > fin d'enregisterement macro > lancer macro > plantage.

(si vous me chercher je serai surment sur une fofo VBA...)
Gillou13
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 15 Avr 2005 à 09:49
Localisation : lyon

Messagepar Gillou13 » 07 Juil 2010 à 14:35

Bonjour a tous,

Je déterre ce sujet,

une nouvelle fois on me demande de créer des tableaux croisés dynamiques lia du LS.

et la 'réinterpretation' du VBA ne vonctionne pas dans ce cas de figure.

en VBA:
Code : Tout sélectionner
  ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "Donnée!R1C1:R34C8").CreatePivotTable TableDestination:="", TableName:= _
        "Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
        Array("Action", "Données"), ColumnFields:="Analyste BPI"
    With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Nb")
        .Orientation = xlDataField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
        "Delais (nb jours)")
        .Orientation = xlDataField
        .Caption = "Moyenne de Delais (nb jours)"
        .Function = xlAverage
        .NumberFormat = "0"
    End With


en LS (de mon cru qui ne fonctionne pas...) :
Code : Tout sélectionner
...
   
   'Test tableau croisé dynamique :
   Dim ActiveWorkbook       As Variant
   Dim ActiveSheet            As Variant
   Dim temp                   As Variant
   
   Set ActiveWorkbook = applicat.ActiveWorkbook
   Set ActiveSheet = applicat.ActiveSheet
   
   Call ActiveWorkbook.PivotCaches.Add(1, "Donnée!R1C1:R34C8").CreatePivotTable("","Tableau croisé dynamique2",-4148)
   Call ActiveSheet.PivotTableWizard(ActiveSheet.Cells(3, 1))
   ActiveSheet.Cells(3, 1).Select
   Call  ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields("Action", "Données","Analyste BPI")
   With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Nb")
      .Orientation = xlDataField
      .Position = 1
   End With
   With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Delais (nb jours)")
      .Orientation = xlDataField
      .Caption = "Moyenne de Delais (nb jours)"
      .Function = xlAverage
      .NumberFormat = "0"
   End With
   


il me sort un message d'erreur a 1er call : "Automation object member not found".

Merci d'avance pour votre aide.
Gillou13
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 15 Avr 2005 à 09:49
Localisation : lyon

Messagepar Michael DELIQUE » 08 Juil 2010 à 08:46

salut

normalement tout ce qui est faisable en VBA tu peut le faire en LS

mais ça peut prendre du temp à mettre au point
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Gillou13 » 08 Juil 2010 à 10:11

Eureka,

J'ai trouvé mon bonneur sur le fofo d'IBM :

http://www-10.lotus.com/ldd/46dom.nsf/D ... enDocument

La syntaxe entre VBA et LS est un peu différente sur ces tableaux croisés.
voila pourquoi le 'copier-coller' n'a pas fonctionné (pour un cette fois).
Gillou13
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 15 Avr 2005 à 09:49
Localisation : lyon

Précédent

Retour vers Développement

cron