Je d=E9sire cr=E9er un TCD en d=E9finissant
la plage source, la plage destination, le nom du TCD.
MichDenis m'a donn=E9 comment faire en EXCEL97 :
'-----------------------------
Sub PivotTable()
'programmation MichDenis pour EXCEL97
Dim Adr As String 'Source
Dim Adr1 As String 'Destination
Dim PT As PivotTable
'D=E9finir o=F9 sera copi=E9 le pivottable
With Worksheets("Feuil1")
Adr1 =3D .Name & "!" & .Range("A1").Address
'Supprime l'ancien pivotcache
.Range("A1").CurrentRegion.Delete (xlUp)
End With
With Worksheets("Feuil2")
'D=E9finir o=F9 sont les donn=E9es pour le pivotcache
Adr =3D .Name & "!" & .Range("A1:B" & _
.Range("B65536").End(xlUp).Row).Address
'Cr=E9ation du PivotTable
Set PT =3D ActiveWorkbook.PivotCaches.Add _
(SourceType:=3DxlDatabase, SourceData:=3DRange(Adr)) _
.CreatePivotTable(TableDestination:=3DRange(Adr1), _
TableName:=3D"Denis", DefaultVersion:=3DxlPivotTableVersion10)
With PT
.AddFields RowFields:=3D"=C9l=E8ve"
.PivotFields("r=E9sultat").Orientation =3D xlDataField
End With
End With
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Sur le fichier exemple que je t'ai soumis élaboré sous Excel 2003, essaie ce qui suit pour la version excel 2007
'------------------------------------ Sub PivotTable()
Dim Adr As String 'Source Dim Adr1 As String 'Destination Dim PT As PivotTable
'Définir où sera copié le pivottable With Worksheets("Feuil1") Adr1 = .Name & "!" & .Range("A1").Address 'Supprime l'ancien pivotcache ' NomFeuille,NomTDC Supprimer_TDC .Name, "Denis" End With
With Worksheets("Feuil2") 'Définir où sont les données pour le pivotcache Adr = .Name & "!" & .Range("A1:B" & _ .Range("B65536").End(xlUp).Row).Address
'Création du PivotTable Set PT = ActiveWorkbook.PivotCaches _ .Create(SourceType:=xlDatabase, _ SourceData:=Range(Adr), _ Version:=xlPivotTableVersion12) _ .CreatePivotTable(TableDestination:=Range(Adr1), _ TableName:="Denis", _ DefaultVersion:=xlPivotTableVersion12) With PT .AddFields RowFields:="Élève" .PivotFields("résultat").Orientation = xlDataField End With End With
End Sub '------------------------------------ Sub Supprimer_TDC(NomFeuille As String, NomTDC As String) On Error Resume Next If Worksheets(NomFeuille).PivotTables.Count > 0 Then .PivotTables(NomTDC).PivotSelect "", xlDataAndLabel, True Selection.Clear Selection(1, 1).Select End If
End Sub '------------------------------------
"Le Nordiste" a écrit dans le message de news: Bonjour,
Je suis sous EXCEL 2007.
Je désire créer un TCD en définissant la plage source, la plage destination, le nom du TCD. MichDenis m'a donné comment faire en EXCEL97 :
'----------------------------- Sub PivotTable() 'programmation MichDenis pour EXCEL97
Dim Adr As String 'Source Dim Adr1 As String 'Destination Dim PT As PivotTable
'Définir où sera copié le pivottable With Worksheets("Feuil1") Adr1 = .Name & "!" & .Range("A1").Address 'Supprime l'ancien pivotcache .Range("A1").CurrentRegion.Delete (xlUp) End With
With Worksheets("Feuil2") 'Définir où sont les données pour le pivotcache Adr = .Name & "!" & .Range("A1:B" & _ .Range("B65536").End(xlUp).Row).Address
'Création du PivotTable Set PT = ActiveWorkbook.PivotCaches.Add _ (SourceType:=xlDatabase, SourceData:=Range(Adr)) _ .CreatePivotTable(TableDestination:=Range(Adr1), _ TableName:="Denis", DefaultVersion:=xlPivotTableVersion10) With PT .AddFields RowFields:="Élève" .PivotFields("résultat").Orientation = xlDataField End With End With
End Sub
'=================== J'ai essayé son code sous EXCEL2007 mais Pb, il semble que "xlPivotTableVersion10" ne soit pas reconnu. Lorsque je crée le TCD j'obtiens ceci :
J'ai bien sur remplacé le 10 par 12 mais toujours ce f… Pb.
'=================== Qui me sortira de ce pétrin ? merci pour votre aide.
Sur le fichier exemple que je t'ai soumis élaboré sous
Excel 2003, essaie ce qui suit pour la version excel 2007
'------------------------------------
Sub PivotTable()
Dim Adr As String 'Source
Dim Adr1 As String 'Destination
Dim PT As PivotTable
'Définir où sera copié le pivottable
With Worksheets("Feuil1")
Adr1 = .Name & "!" & .Range("A1").Address
'Supprime l'ancien pivotcache
' NomFeuille,NomTDC
Supprimer_TDC .Name, "Denis"
End With
With Worksheets("Feuil2")
'Définir où sont les données pour le pivotcache
Adr = .Name & "!" & .Range("A1:B" & _
.Range("B65536").End(xlUp).Row).Address
'Création du PivotTable
Set PT = ActiveWorkbook.PivotCaches _
.Create(SourceType:=xlDatabase, _
SourceData:=Range(Adr), _
Version:=xlPivotTableVersion12) _
.CreatePivotTable(TableDestination:=Range(Adr1), _
TableName:="Denis", _
DefaultVersion:=xlPivotTableVersion12)
With PT
.AddFields RowFields:="Élève"
.PivotFields("résultat").Orientation = xlDataField
End With
End With
End Sub
'------------------------------------
Sub Supprimer_TDC(NomFeuille As String, NomTDC As String)
On Error Resume Next
If Worksheets(NomFeuille).PivotTables.Count > 0 Then
.PivotTables(NomTDC).PivotSelect "", xlDataAndLabel, True
Selection.Clear
Selection(1, 1).Select
End If
End Sub
'------------------------------------
"Le Nordiste" <jean-paul.bataille@neufcegetel.fr> a écrit dans le message de
news: 68918edf-72e9-4f86-9ef2-77ab1d239443@c58g2000hsc.googlegroups.com...
Bonjour,
Je suis sous EXCEL 2007.
Je désire créer un TCD en définissant
la plage source, la plage destination, le nom du TCD.
MichDenis m'a donné comment faire en EXCEL97 :
'-----------------------------
Sub PivotTable()
'programmation MichDenis pour EXCEL97
Dim Adr As String 'Source
Dim Adr1 As String 'Destination
Dim PT As PivotTable
'Définir où sera copié le pivottable
With Worksheets("Feuil1")
Adr1 = .Name & "!" & .Range("A1").Address
'Supprime l'ancien pivotcache
.Range("A1").CurrentRegion.Delete (xlUp)
End With
With Worksheets("Feuil2")
'Définir où sont les données pour le pivotcache
Adr = .Name & "!" & .Range("A1:B" & _
.Range("B65536").End(xlUp).Row).Address
'Création du PivotTable
Set PT = ActiveWorkbook.PivotCaches.Add _
(SourceType:=xlDatabase, SourceData:=Range(Adr)) _
.CreatePivotTable(TableDestination:=Range(Adr1), _
TableName:="Denis", DefaultVersion:=xlPivotTableVersion10)
With PT
.AddFields RowFields:="Élève"
.PivotFields("résultat").Orientation = xlDataField
End With
End With
End Sub
'===================
J'ai essayé son code sous EXCEL2007 mais Pb, il semble que
"xlPivotTableVersion10"
ne soit pas reconnu. Lorsque je crée le TCD j'obtiens ceci :
Sur le fichier exemple que je t'ai soumis élaboré sous Excel 2003, essaie ce qui suit pour la version excel 2007
'------------------------------------ Sub PivotTable()
Dim Adr As String 'Source Dim Adr1 As String 'Destination Dim PT As PivotTable
'Définir où sera copié le pivottable With Worksheets("Feuil1") Adr1 = .Name & "!" & .Range("A1").Address 'Supprime l'ancien pivotcache ' NomFeuille,NomTDC Supprimer_TDC .Name, "Denis" End With
With Worksheets("Feuil2") 'Définir où sont les données pour le pivotcache Adr = .Name & "!" & .Range("A1:B" & _ .Range("B65536").End(xlUp).Row).Address
'Création du PivotTable Set PT = ActiveWorkbook.PivotCaches _ .Create(SourceType:=xlDatabase, _ SourceData:=Range(Adr), _ Version:=xlPivotTableVersion12) _ .CreatePivotTable(TableDestination:=Range(Adr1), _ TableName:="Denis", _ DefaultVersion:=xlPivotTableVersion12) With PT .AddFields RowFields:="Élève" .PivotFields("résultat").Orientation = xlDataField End With End With
End Sub '------------------------------------ Sub Supprimer_TDC(NomFeuille As String, NomTDC As String) On Error Resume Next If Worksheets(NomFeuille).PivotTables.Count > 0 Then .PivotTables(NomTDC).PivotSelect "", xlDataAndLabel, True Selection.Clear Selection(1, 1).Select End If
End Sub '------------------------------------
"Le Nordiste" a écrit dans le message de news: Bonjour,
Je suis sous EXCEL 2007.
Je désire créer un TCD en définissant la plage source, la plage destination, le nom du TCD. MichDenis m'a donné comment faire en EXCEL97 :
'----------------------------- Sub PivotTable() 'programmation MichDenis pour EXCEL97
Dim Adr As String 'Source Dim Adr1 As String 'Destination Dim PT As PivotTable
'Définir où sera copié le pivottable With Worksheets("Feuil1") Adr1 = .Name & "!" & .Range("A1").Address 'Supprime l'ancien pivotcache .Range("A1").CurrentRegion.Delete (xlUp) End With
With Worksheets("Feuil2") 'Définir où sont les données pour le pivotcache Adr = .Name & "!" & .Range("A1:B" & _ .Range("B65536").End(xlUp).Row).Address
'Création du PivotTable Set PT = ActiveWorkbook.PivotCaches.Add _ (SourceType:=xlDatabase, SourceData:=Range(Adr)) _ .CreatePivotTable(TableDestination:=Range(Adr1), _ TableName:="Denis", DefaultVersion:=xlPivotTableVersion10) With PT .AddFields RowFields:="Élève" .PivotFields("résultat").Orientation = xlDataField End With End With
End Sub
'=================== J'ai essayé son code sous EXCEL2007 mais Pb, il semble que "xlPivotTableVersion10" ne soit pas reconnu. Lorsque je crée le TCD j'obtiens ceci :
Lors de l'appel de la routine d'effacement, j'ai le message : "erreur de compilation référence ioncorrecte ou non qualifiée"
Passant outre l'effacement, cela fonctionne pas mal avec un petit fichier une colonne eleve et une colonne résultat.
Ça coince toujours avec mon besoin car j'ai plus de deux colonnes et de plus j'aimerais avoir des "étiquettes de colonne"
michdenis
Il ne te reste plus à attendre que quelqu'un ayant excel 2007 veuille t'aider !
"Le Nordiste" a écrit dans le message de news: Lors de l'appel de la routine d'effacement, j'ai le message : "erreur de compilation référence ioncorrecte ou non qualifiée"
Passant outre l'effacement, cela fonctionne pas mal avec un petit fichier une colonne eleve et une colonne résultat.
Ça coince toujours avec mon besoin car j'ai plus de deux colonnes et de plus j'aimerais avoir des "étiquettes de colonne"
Il ne te reste plus à attendre que quelqu'un ayant excel 2007 veuille
t'aider !
"Le Nordiste" <jean-paul.bataille@neufcegetel.fr> a écrit dans le message de
news: a4b83838-d8d9-4eb3-9aa0-206aad410d60@w7g2000hsa.googlegroups.com...
Lors de l'appel de la routine d'effacement, j'ai le message :
"erreur de compilation
référence ioncorrecte ou non qualifiée"
Passant outre l'effacement,
cela fonctionne pas mal avec un petit fichier une colonne eleve et une
colonne résultat.
Ça coince toujours avec mon besoin car j'ai plus de deux colonnes
et de plus j'aimerais avoir des "étiquettes de colonne"
Il ne te reste plus à attendre que quelqu'un ayant excel 2007 veuille t'aider !
"Le Nordiste" a écrit dans le message de news: Lors de l'appel de la routine d'effacement, j'ai le message : "erreur de compilation référence ioncorrecte ou non qualifiée"
Passant outre l'effacement, cela fonctionne pas mal avec un petit fichier une colonne eleve et une colonne résultat.
Ça coince toujours avec mon besoin car j'ai plus de deux colonnes et de plus j'aimerais avoir des "étiquettes de colonne"
Utilise : Dim tableauCroise As PivotTable Dim pCache As PivotCache
Set pCache = wbkSynthese.PivotCaches.Add(xlDatabase, Range) Set tableauCroise = pCache.CreatePivotTable(sh.Cells(4, 1), "TcdName") ' -- cellule de destination, nom du TCD
tableauCroise.SmallGrid = False With tableauCroise.PivotFields("Client") .Orientation = xlRowField ' -- ou xlColumnField ou xlDataField .position = 1 ' -- .Function = xlSum ' Dans le cas d'un xlDataField ' -- .NumberFormat = "#,##0" ' Dans le cas d'un xlDataField End With
et éevntutellement on error resume next tableauCroise.ShowTableStyleRowStripes = True tableauCroise.ShowTableStyleColumnStripes = True tableauCroise.TableStyle2 = "PivotStyleDark7"
Le Nordiste a écrit :
Bonjour,
Je suis sous EXCEL 2007.
Je désire créer un TCD en définissant la plage source, la plage destination, le nom du TCD. MichDenis m'a donné comment faire en EXCEL97 :
'----------------------------- Sub PivotTable() 'programmation MichDenis pour EXCEL97
Dim Adr As String 'Source Dim Adr1 As String 'Destination Dim PT As PivotTable
'Définir où sera copié le pivottable With Worksheets("Feuil1") Adr1 = .Name & "!" & .Range("A1").Address 'Supprime l'ancien pivotcache .Range("A1").CurrentRegion.Delete (xlUp) End With
With Worksheets("Feuil2") 'Définir où sont les données pour le pivotcache Adr = .Name & "!" & .Range("A1:B" & _ .Range("B65536").End(xlUp).Row).Address
'Création du PivotTable Set PT = ActiveWorkbook.PivotCaches.Add _ (SourceType:=xlDatabase, SourceData:=Range(Adr)) _ .CreatePivotTable(TableDestination:=Range(Adr1), _ TableName:="Denis", DefaultVersion:=xlPivotTableVersion10) With PT .AddFields RowFields:="Élève" .PivotFields("résultat").Orientation = xlDataField End With End With
End Sub
'=================== > J'ai essayé son code sous EXCEL2007 mais Pb, il semble que "xlPivotTableVersion10" ne soit pas reconnu. Lorsque je crée le TCD j'obtiens ceci :
J'ai bien sur remplacé le 10 par 12 mais toujours ce f… Pb.
'=================== > Qui me sortira de ce pétrin ? merci pour votre aide.
Bonjour,
Utilise :
Dim tableauCroise As PivotTable
Dim pCache As PivotCache
Set pCache = wbkSynthese.PivotCaches.Add(xlDatabase, Range)
Set tableauCroise = pCache.CreatePivotTable(sh.Cells(4, 1), "TcdName")
' -- cellule de destination, nom du TCD
tableauCroise.SmallGrid = False
With tableauCroise.PivotFields("Client")
.Orientation = xlRowField ' -- ou xlColumnField ou xlDataField
.position = 1
' -- .Function = xlSum ' Dans le cas d'un xlDataField
' -- .NumberFormat = "#,##0" ' Dans le cas d'un xlDataField
End With
et éevntutellement
on error resume next
tableauCroise.ShowTableStyleRowStripes = True
tableauCroise.ShowTableStyleColumnStripes = True
tableauCroise.TableStyle2 = "PivotStyleDark7"
Le Nordiste a écrit :
Bonjour,
Je suis sous EXCEL 2007.
Je désire créer un TCD en définissant
la plage source, la plage destination, le nom du TCD.
MichDenis m'a donné comment faire en EXCEL97 :
'-----------------------------
Sub PivotTable()
'programmation MichDenis pour EXCEL97
Dim Adr As String 'Source
Dim Adr1 As String 'Destination
Dim PT As PivotTable
'Définir où sera copié le pivottable
With Worksheets("Feuil1")
Adr1 = .Name & "!" & .Range("A1").Address
'Supprime l'ancien pivotcache
.Range("A1").CurrentRegion.Delete (xlUp)
End With
With Worksheets("Feuil2")
'Définir où sont les données pour le pivotcache
Adr = .Name & "!" & .Range("A1:B" & _
.Range("B65536").End(xlUp).Row).Address
'Création du PivotTable
Set PT = ActiveWorkbook.PivotCaches.Add _
(SourceType:=xlDatabase, SourceData:=Range(Adr)) _
.CreatePivotTable(TableDestination:=Range(Adr1), _
TableName:="Denis", DefaultVersion:=xlPivotTableVersion10)
With PT
.AddFields RowFields:="Élève"
.PivotFields("résultat").Orientation = xlDataField
End With
End With
End Sub
'=================== >
J'ai essayé son code sous EXCEL2007 mais Pb, il semble que
"xlPivotTableVersion10"
ne soit pas reconnu. Lorsque je crée le TCD j'obtiens ceci :
Utilise : Dim tableauCroise As PivotTable Dim pCache As PivotCache
Set pCache = wbkSynthese.PivotCaches.Add(xlDatabase, Range) Set tableauCroise = pCache.CreatePivotTable(sh.Cells(4, 1), "TcdName") ' -- cellule de destination, nom du TCD
tableauCroise.SmallGrid = False With tableauCroise.PivotFields("Client") .Orientation = xlRowField ' -- ou xlColumnField ou xlDataField .position = 1 ' -- .Function = xlSum ' Dans le cas d'un xlDataField ' -- .NumberFormat = "#,##0" ' Dans le cas d'un xlDataField End With
et éevntutellement on error resume next tableauCroise.ShowTableStyleRowStripes = True tableauCroise.ShowTableStyleColumnStripes = True tableauCroise.TableStyle2 = "PivotStyleDark7"
Le Nordiste a écrit :
Bonjour,
Je suis sous EXCEL 2007.
Je désire créer un TCD en définissant la plage source, la plage destination, le nom du TCD. MichDenis m'a donné comment faire en EXCEL97 :
'----------------------------- Sub PivotTable() 'programmation MichDenis pour EXCEL97
Dim Adr As String 'Source Dim Adr1 As String 'Destination Dim PT As PivotTable
'Définir où sera copié le pivottable With Worksheets("Feuil1") Adr1 = .Name & "!" & .Range("A1").Address 'Supprime l'ancien pivotcache .Range("A1").CurrentRegion.Delete (xlUp) End With
With Worksheets("Feuil2") 'Définir où sont les données pour le pivotcache Adr = .Name & "!" & .Range("A1:B" & _ .Range("B65536").End(xlUp).Row).Address
'Création du PivotTable Set PT = ActiveWorkbook.PivotCaches.Add _ (SourceType:=xlDatabase, SourceData:=Range(Adr)) _ .CreatePivotTable(TableDestination:=Range(Adr1), _ TableName:="Denis", DefaultVersion:=xlPivotTableVersion10) With PT .AddFields RowFields:="Élève" .PivotFields("résultat").Orientation = xlDataField End With End With
End Sub
'=================== > J'ai essayé son code sous EXCEL2007 mais Pb, il semble que "xlPivotTableVersion10" ne soit pas reconnu. Lorsque je crée le TCD j'obtiens ceci :
J'ai bien sur remplacé le 10 par 12 mais toujours ce f… Pb.
'=================== > Qui me sortira de ce pétrin ? merci pour votre aide.
Le Nordiste
Bonjour bcar,
Je ne vois pas comment faire même avec ton code.
Peux tu me donner le code complet, cela m'arrangerait bien, bien évidemment sur un exemple simple disons : a) Une source de 5colonnes sur 10 lignes placée en A1 et contiguëes b) plaçons le TCD nommé "MonTCD" en H15 par exemple.
Remerciements anticipés
Bon week-end Le Nordiste
Bonjour bcar,
Je ne vois pas comment faire même avec ton code.
Peux tu me donner le code complet, cela m'arrangerait bien,
bien évidemment sur un exemple simple disons :
a) Une source de 5colonnes sur 10 lignes placée en A1 et contiguëes
b) plaçons le TCD nommé "MonTCD" en H15 par exemple.
Peux tu me donner le code complet, cela m'arrangerait bien, bien évidemment sur un exemple simple disons : a) Une source de 5colonnes sur 10 lignes placée en A1 et contiguëes b) plaçons le TCD nommé "MonTCD" en H15 par exemple.
Remerciements anticipés
Bon week-end Le Nordiste
bcar
Voila un lien vers un petit exemple que je t'ai fait. (c'est vrai que dans le code que je t'avais donné, il manquait peut être 2-3 déclarations...)
Peux tu me donner le code complet, cela m'arrangerait bien, bien évidemment sur un exemple simple disons : a) Une source de 5colonnes sur 10 lignes placée en A1 et contiguëes b) plaçons le TCD nommé "MonTCD" en H15 par exemple.
Remerciements anticipés
Bon week-end Le Nordiste
Voila un lien vers un petit exemple que je t'ai fait. (c'est vrai que
dans le code que je t'avais donné, il manquait peut être 2-3
déclarations...)
http://dl.free.fr/q5FMAXkgE
Le Nordiste a écrit :
Bonjour bcar,
Je ne vois pas comment faire même avec ton code.
Peux tu me donner le code complet, cela m'arrangerait bien,
bien évidemment sur un exemple simple disons :
a) Une source de 5colonnes sur 10 lignes placée en A1 et contiguëes
b) plaçons le TCD nommé "MonTCD" en H15 par exemple.
Peux tu me donner le code complet, cela m'arrangerait bien, bien évidemment sur un exemple simple disons : a) Une source de 5colonnes sur 10 lignes placée en A1 et contiguëes b) plaçons le TCD nommé "MonTCD" en H15 par exemple.
Remerciements anticipés
Bon week-end Le Nordiste
Le Nordiste
merci bcar,
Cela semble me convenir, je teste cet aprés midi sur mon fichier de travail réel.
je te tiens au courant.
Le Nordiste
merci bcar,
Cela semble me convenir, je teste cet aprés midi sur mon fichier de
travail réel.
Set wbk = ThisWorkbook ' -- Wortkbook des données du TCD Set sh = Worksheets(strFeuilleSource) ' -- La feuille sur laquelle on désire travailler Set r = sh.Range(strPlageDONNÉES) ' LA SOURCE DE DONNÉES -- Les données Set pCache = wbk.PivotCaches.Add(xlDatabase, r) 'Sheets(strFeuilleDestination).Select Set tableauCroise = pCache.CreatePivotTable(sh.Cells(40, 5), "TcdName")
et ça coince sur la dernière ligne : "argument ou appel de procédure incorrect"
Il va falloir que je change de lunettes je ne vois pas le PB
bcar me revoici,
j'ai adapté un peu ta procédure :
J'ai une feuille Fa sur laquelle j'ai mes données en "D1:S65536" à
croiser dans un tableau placé en Cells(40, 5).
Public Sub makeATCD()
Dim tableauCroise As PivotTable
Dim pCache As PivotCache
Dim wbk As Workbook
Dim sh As Worksheet
Dim r As Range
Set wbk = ThisWorkbook '
-- Wortkbook des données du TCD
Set sh = Worksheets(strFeuilleSource) ' -- La
feuille sur laquelle on désire travailler
Set r = sh.Range(strPlageDONNÉES) '
LA SOURCE DE DONNÉES -- Les données
Set pCache = wbk.PivotCaches.Add(xlDatabase, r)
'Sheets(strFeuilleDestination).Select
Set tableauCroise = pCache.CreatePivotTable(sh.Cells(40, 5),
"TcdName")
et ça coince sur la dernière ligne : "argument ou appel de procédure
incorrect"
Il va falloir que je change de lunettes je ne vois pas le PB
Set wbk = ThisWorkbook ' -- Wortkbook des données du TCD Set sh = Worksheets(strFeuilleSource) ' -- La feuille sur laquelle on désire travailler Set r = sh.Range(strPlageDONNÉES) ' LA SOURCE DE DONNÉES -- Les données Set pCache = wbk.PivotCaches.Add(xlDatabase, r) 'Sheets(strFeuilleDestination).Select Set tableauCroise = pCache.CreatePivotTable(sh.Cells(40, 5), "TcdName")
et ça coince sur la dernière ligne : "argument ou appel de procédure incorrect"
Il va falloir que je change de lunettes je ne vois pas le PB
bcar
Salut,
A mon avis tu essaye de créer le tableau dans tes données : tes données vont de D1 à S65536 et le début de ton tableau se trouve en (40, 5) ce qui ne me semble pas correct essaye en ligne 5, colonne 40.
Le Nordiste a écrit :
bcar me revoici,
j'ai adapté un peu ta procédure : J'ai une feuille Fa sur laquelle j'ai mes données en "D1:S65536" à croiser dans un tableau placé en Cells(40, 5).
Public Sub makeATCD()
Dim tableauCroise As PivotTable Dim pCache As PivotCache Dim wbk As Workbook Dim sh As Worksheet Dim r As Range
Set wbk = ThisWorkbook ' -- Wortkbook des données du TCD Set sh = Worksheets(strFeuilleSource) ' -- La feuille sur laquelle on désire travailler Set r = sh.Range(strPlageDONNÉES) ' LA SOURCE DE DONNÉES -- Les données Set pCache = wbk.PivotCaches.Add(xlDatabase, r) 'Sheets(strFeuilleDestination).Select Set tableauCroise = pCache.CreatePivotTable(sh.Cells(40, 5), "TcdName")
et ça coince sur la dernière ligne : "argument ou appel de procédure incorrect"
Il va falloir que je change de lunettes je ne vois pas le PB
Salut,
A mon avis tu essaye de créer le tableau dans tes données : tes données
vont de D1 à S65536 et le début de ton tableau se trouve en (40, 5) ce
qui ne me semble pas correct essaye en ligne 5, colonne 40.
Le Nordiste a écrit :
bcar me revoici,
j'ai adapté un peu ta procédure :
J'ai une feuille Fa sur laquelle j'ai mes données en "D1:S65536" à
croiser dans un tableau placé en Cells(40, 5).
Public Sub makeATCD()
Dim tableauCroise As PivotTable
Dim pCache As PivotCache
Dim wbk As Workbook
Dim sh As Worksheet
Dim r As Range
Set wbk = ThisWorkbook '
-- Wortkbook des données du TCD
Set sh = Worksheets(strFeuilleSource) ' -- La
feuille sur laquelle on désire travailler
Set r = sh.Range(strPlageDONNÉES) '
LA SOURCE DE DONNÉES -- Les données
Set pCache = wbk.PivotCaches.Add(xlDatabase, r)
'Sheets(strFeuilleDestination).Select
Set tableauCroise = pCache.CreatePivotTable(sh.Cells(40, 5),
"TcdName")
et ça coince sur la dernière ligne : "argument ou appel de procédure
incorrect"
Il va falloir que je change de lunettes je ne vois pas le PB
A mon avis tu essaye de créer le tableau dans tes données : tes données vont de D1 à S65536 et le début de ton tableau se trouve en (40, 5) ce qui ne me semble pas correct essaye en ligne 5, colonne 40.
Le Nordiste a écrit :
bcar me revoici,
j'ai adapté un peu ta procédure : J'ai une feuille Fa sur laquelle j'ai mes données en "D1:S65536" à croiser dans un tableau placé en Cells(40, 5).
Public Sub makeATCD()
Dim tableauCroise As PivotTable Dim pCache As PivotCache Dim wbk As Workbook Dim sh As Worksheet Dim r As Range
Set wbk = ThisWorkbook ' -- Wortkbook des données du TCD Set sh = Worksheets(strFeuilleSource) ' -- La feuille sur laquelle on désire travailler Set r = sh.Range(strPlageDONNÉES) ' LA SOURCE DE DONNÉES -- Les données Set pCache = wbk.PivotCaches.Add(xlDatabase, r) 'Sheets(strFeuilleDestination).Select Set tableauCroise = pCache.CreatePivotTable(sh.Cells(40, 5), "TcdName")
et ça coince sur la dernière ligne : "argument ou appel de procédure incorrect"
Il va falloir que je change de lunettes je ne vois pas le PB