je veux crée dans une de mes macros sous vb un tableau croisé dynamique. Pour cela, je me suis servi de l'enregistreur de macro et j'ai copié la macro. La taille de ma plage à mettre dans mon tableau varie, sa taille est stockée dans une variable de type integer. Mais quand je remplace dans la macro, la taille définie par l'enregistreur (par exemple 100) par la variable, il se produit une erreur
L'erreur est la suivante
erreur d'execution 100
Cette commande requiert au moins 2 lignes de données sources
Vous ne pouvez pas l'utiliser sur 1 seule ligne de donnée
Par contre, je ne vois rien de "choquant" dans ces intstructions ..
AV
michdenis
Bonjour Corolleur,
Un pivotTable n'aime pas beaucoup se faire piler sur les pieds !.. Une façon de dire que tu ne peux pas créer un pivottable à un endroit où il y en existe déjà un.
Voici un exemple simple comment procéder :
'----------------------------- 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 .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 '-----------------------------
Salutations!
"corolleur" a écrit dans le message de news: bonjour,
je veux crée dans une de mes macros sous vb un tableau croisé dynamique. Pour cela, je me suis servi de l'enregistreur de macro et j'ai copié la macro. La taille de ma plage à mettre dans mon tableau varie, sa taille est stockée dans une variable de type integer. Mais quand je remplace dans la macro, la taille définie par l'enregistreur (par exemple 100) par la variable, il se produit une erreur.
L'erreur est la suivante : erreur d'execution 1004 Cette commande requiert au moins 2 lignes de données sources. Vous ne pouvez pas l'utiliser sur 1 seule ligne de données
Si quelqu'un peut m'aider ...
Bonjour Corolleur,
Un pivotTable n'aime pas beaucoup se faire piler sur les pieds !.. Une façon de dire que tu ne peux pas créer un
pivottable à un endroit où il y en existe déjà un.
Voici un exemple simple comment procéder :
'-----------------------------
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
.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
'-----------------------------
Salutations!
"corolleur" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:75D78ACA-B54F-4ACF-A159-693276D91F5D@microsoft.com...
bonjour,
je veux crée dans une de mes macros sous vb un tableau croisé dynamique. Pour cela, je me suis servi de l'enregistreur
de macro et j'ai copié la macro. La taille de ma plage à mettre dans mon tableau varie, sa taille est stockée dans une
variable de type integer. Mais quand je remplace dans la macro, la taille définie par l'enregistreur (par exemple 100)
par la variable, il se produit une erreur.
L'erreur est la suivante :
erreur d'execution 1004
Cette commande requiert au moins 2 lignes de données sources.
Vous ne pouvez pas l'utiliser sur 1 seule ligne de données
Un pivotTable n'aime pas beaucoup se faire piler sur les pieds !.. Une façon de dire que tu ne peux pas créer un pivottable à un endroit où il y en existe déjà un.
Voici un exemple simple comment procéder :
'----------------------------- 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 .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 '-----------------------------
Salutations!
"corolleur" a écrit dans le message de news: bonjour,
je veux crée dans une de mes macros sous vb un tableau croisé dynamique. Pour cela, je me suis servi de l'enregistreur de macro et j'ai copié la macro. La taille de ma plage à mettre dans mon tableau varie, sa taille est stockée dans une variable de type integer. Mais quand je remplace dans la macro, la taille définie par l'enregistreur (par exemple 100) par la variable, il se produit une erreur.
L'erreur est la suivante : erreur d'execution 1004 Cette commande requiert au moins 2 lignes de données sources. Vous ne pouvez pas l'utiliser sur 1 seule ligne de données