cs_Barto95
Messages postés5Date d'inscriptionlundi 3 septembre 2007StatutMembreDernière intervention 3 septembre 2007
-
3 sept. 2007 à 10:13
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 2011
-
3 sept. 2007 à 17:23
Bonjour à tous,
j'essai de créer sur excel une application. Au cours de cette application une macro doit faire une tableau croisé dynamique.
Je crée ma macro avec la fonction enregistrement, puis lorsque j'essai de la relancer, j'ai ce message d'erreur :
"Impossible de lire la propriété PivotTables de la classe Worksheet"
voici les lignes de code ou il y aurait un problème :
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 3 sept. 2007 à 11:56
Salut,
En fait c'est certainement parce que le "Tableau croisé dynamique1" est encore en mémoire
Il faut passer en variable le nom du tableau croisé à créer
JML
Partageons notre savoir et nos acquis
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 3 sept. 2007 à 14:04
Whaou ... Une fois pour rendre service à une voisine de 85 ans, je lui ai proposer de l'aider à porter ses courses ... Je ne savais pas qu'elle habitait le 6ème sans ascenseur
Ce que je te propose c'est d'essayer ce qui suit
Sheets("Data").Select
NomTableau = InputBox("Saisir Le Nom Du Tableau", "TABLEAU CROISE")
Cells.Select
Range("A694").Activate
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Data!C1:C21").CreatePivotTable TableDestination:= _
"'[brouillon frais.xls]CroiseDyn'!R1C1", TableName:= _
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables( NomTableau ).AddFields RowFields: = _
Array("PC", "Natu", "Description", "Données")
With ActiveSheet.PivotTables(NomTableau).PivotFields("oct")
.Orientation = xlDataField
.Caption = "Somme de oct"
.Position = 1
.Function = xlSum
End With
JML
Partageons notre savoir et nos acquis
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Barto95
Messages postés5Date d'inscriptionlundi 3 septembre 2007StatutMembreDernière intervention 3 septembre 2007 3 sept. 2007 à 14:36
salut,
j'ai essayer, et si les seuls parametres a changer sont ceux en bleu, alors ca ne change pas le problème ! (j'ai recopié textuellement ce que tu avais écrit )
n'y aurit il pas un probleme avec ce en vert?
Sheets("Data").Select
NomTableau = InputBox("Saisir Le Nom Du Tableau", "TABLEAU CROISE")
Cells.Select
Range("A694").Activate
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Data!C1:C21").CreatePivotTable TableDestination:= _
"'[brouillon frais.xls]CroiseDyn'!R1C1", TableName:= _
" Tableau croisé dynamique1 ", DefaultVersion: =xlPivotTableVersion10
ActiveSheet.PivotTables(NomTableau).AddFields RowFields:= _
Array("PC", "Natu", "Description", "Données")
With ActiveSheet.PivotTables(NomTableau).PivotFields("oct")
.Orientation = xlDataField
.Caption = "Somme de oct"
.Position = 1
.Function = xlSum
End With
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 3 sept. 2007 à 15:27
Regarde bien dans le code que je t'ai envoyé ... Si regarde encore ...
He oui ... NomTableau n'est pas entre guillemets parceque c'est une variable
JML
Partageons notre savoir et nos acquis
cs_Barto95
Messages postés5Date d'inscriptionlundi 3 septembre 2007StatutMembreDernière intervention 3 septembre 2007 3 sept. 2007 à 15:50
J'ai vérifié chaque guillement, chaque virgule, et chaque...
et sauf erreur de ma part, cela ne marche pas, toujours la meme erreur avec toujours ce "paragraphe" surligné en jaune!
une autre idée? sinon merci beaucoup pour ton aide!!
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 3 sept. 2007 à 17:23
Si tu as saisi comme ci-dessous, cela doit rouler sinon le problème vient d'autre chose ...
Par exemple ce que tu définis dans TableDestination n'y aurait il pas un Pb ?
Sheets("Data").Select
NomTableau = InputBox("Saisir Le Nom Du Tableau", "TABLEAU CROISE")
Cells.Select
Range("A694").Activate
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Data!C1:C21").CreatePivotTable TableDestination:= _
"'[brouillon frais.xls]CroiseDyn'!R1C1", TableName:= _
NomTableau , DefaultVersion: =xlPivotTableVersion10
ActiveSheet.PivotTables(NomTableau).AddFields RowFields:= _
Array("PC", "Natu", "Description", "Données")
With ActiveSheet.PivotTables(NomTableau).PivotFields("oct")
.Orientation = xlDataField
.Caption = "Somme de oct"
.Position = 1
.Function = xlSum
End With
JML
Partageons notre savoir et nos acquis