Réalisation de TCD en automatique

Réalisation de TCD en automatique - VB/VBA/VBS - Programmation

Marsh Posté le 07-02-2006 à 16:25:24    

Bonjour à tous,
 
Je viens de commencer la programmation VBA et déja un sérieux problème se pose pour moi.
 
Mon chef, me demande suite à une extraction SQL de réaliser un TCD en automatique. Le problème quand je réalise mon petit bout de programme, il veux pas aller plus loin que la ligne de définition du TCD.
 
ma question est pourquoi ?
 
Ce que je fait :
 
je réalise l'extraction en automatique.
je fait un comptage de mon nombre de libre que je met dans une variable.
Je remet ma variable dans la partie programmation de ma variable et la il bloque.
 
Ci joint le bout de programme.
 
Pourriez vous m'aider s'il vous plait.
 
 
 
'    Workbooks("CA " & AnneeFin & "" & Société & ".xls" ).Sheets("SQL" ).Activate
'    Range("A8" ).Select
'    a = 8
'
'    Do While ActiveWorkbook.Sheets("SQL" ).Cells(a, 1) <> ""
'    a = a + 1
'    Loop
'
'
'    Range("A7:P" & a - 1).Select
'    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
'        "SQL!R7C1:R" & (a - 1) & "C16" ).CreatePivotTable TableDestination:= _
'        "'[Chiffre d''affaire.xls]Feuil2'!R4C1", TableName:= _
'        "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
'    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).DisplayNullString = False
'    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotCache. _
'        RefreshOnFileOpen = True
'    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).AddFields RowFields:= _
'        Array("Commercial", "Nom du client" ), ColumnFields:="facture"
'    ActiveSheet.PivotTables("Tableau croisé dynamique1" ).PivotFields("Montant H.T." _
'        ).Orientation = xlDataField
'    ActiveWorkbook.ShowPivotTableFieldList = False
'    Range("C5" ).Select
'    Selection.NumberFormat = "mmmm"
'    Selection.Copy
'    Range("D5:P5" ).Select
'    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
'        SkipBlanks:=False, Transpose:=False
'    Application.CutCopyMode = False
'    Range("C6:Q31" ).Select
'    Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_);_(@_)"
'    Range("C6" ).Select
 


Message édité par elcar le 07-02-2006 à 16:30:14
Reply

Marsh Posté le 07-02-2006 à 16:25:24   

Reply

Marsh Posté le 08-02-2006 à 00:02:12    

TCD ? What is it?
C'est à l'armée qu'on aime bien utiliser les initiales.
Bon, en faisant l'effort d'aller plus loin que ce titre, en lisant la question en entier, je crois comprendre que TCD veut dire Tableau Croisé Dynamique.
 
La réponse est qu'il faut essayer à la main puis quand ça marche, le faire en VBA. En cas de problème, tester avec un cas plus simple.
Est-ce que cela compile ? Si ca bloque, c'est peut-être que cela prend beaucoup de temps, peut-être parce que les tables contiennent beaucoup d'enregistrements, peut-être parce qu'Access entre dans une boucle infinie. Habituellement, Acces donne un message d'erreur, mais  ne se bloque pas.
Désolé, mais sans avoir la base de données, sans avoir de message d'erreur, sans pouvoir suivre pas à pas ce qui se passe, ce n'est guerre possible d'en dire plus.

Reply

Marsh Posté le 08-02-2006 à 12:12:51    

olivthill a écrit :

TCD ? What is it?
C'est à l'armée qu'on aime bien utiliser les initiales.
Bon, en faisant l'effort d'aller plus loin que ce titre, en lisant la question en entier, je crois comprendre que TCD veut dire Tableau Croisé Dynamique.
 
La réponse est qu'il faut essayer à la main puis quand ça marche, le faire en VBA. En cas de problème, tester avec un cas plus simple.
Est-ce que cela compile ? Si ca bloque, c'est peut-être que cela prend beaucoup de temps, peut-être parce que les tables contiennent beaucoup d'enregistrements, peut-être parce qu'Access entre dans une boucle infinie. Habituellement, Acces donne un message d'erreur, mais  ne se bloque pas.
Désolé, mais sans avoir la base de données, sans avoir de message d'erreur, sans pouvoir suivre pas à pas ce qui se passe, ce n'est guerre possible d'en dire plus.


 
 
Oui excuse moi pour l'abreviation TCD,
 
La liste que j'extraqit provient d'une base de donnée Oracle qui est réaliser dans Excel.
La réaliation de la macro j'ai essayer de la déroulé au pas à pas et cela bloque toujour au meme endroit (a l'endroit ou ma variable (a-1) apparait (al aplace j'avais ...R2784C16 qui devient R" & (a-1) & "C16" )
 
 
ps: :je viens de relancer en pas a pas et je n'avais pas note le type d'erreur la voici :  
 
Erreur d'execution 5 :
argument ou appel de procédure incorrect


Message édité par elcar le 08-02-2006 à 16:09:26
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed