Problème tableau croisé dynamique

Signaler
Messages postés
22
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
26 septembre 2008
-
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
-
Bonjour à tous.

Voilà j'ai un problème avec le code ci-dessous et il est très urgent!

Dim tcd As String
tcd = "Tableau températures"


Range("A2").Select
    ActiveCell.FormulaR1C1 = "Date"
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        Selection).CreatePivotTable TableDestination:= _
        "R3C6", TableName:=tcd, _
        DefaultVersion:=xlPivotTableVersion10
    ActiveSheet.PivotTables(tcd).AddFields RowFields:= _
        "Date", ColumnFields:="Température"
    With ActiveSheet.PivotTables(tcd).PivotFields( _
        "Température")
        .Orientation = xlDataField
        .Caption = "Nombre de Température"
        .Function = xlCount
    End With

Lorsque j'active ma macro, elle s'arrête sur ce code et affiche le message d'erreur suivant:
         "Argument ou appel de procédure incorrect."

Et le plus intriguant c'est lorsque j'appuie sur continuer, la macro continue comme si de rien n'était!

Pouvez vous m'éclaircir sur ce problème svp.

9 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
salut,

sur quelle ligne s'arrete ton code ?
Messages postés
22
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
26 septembre 2008

A cet endroit là précisément :

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        Selection).CreatePivotTable TableDestination:= _
        "R3C6", TableName:=tcd, _
        DefaultVersion:=xlPivotTableVersion10
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
désolé mais je n'arrive pas a reproduire le defaut ! il arrive que suite a des modifs sur la ligne cette ligne soit verolée.

Remplace la ligne incriminée par :

With ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Selection)
        .CreatePivotTable TableDestination:="R3C6", TableName:=tcd, DefaultVersion:=xlPivotTableVersion10
End With
Messages postés
22
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
26 septembre 2008

Ca bloque toujours à cet endroit:

.CreatePivotTable TableDestination:="R3C6", TableName:=tcd, DefaultVersion:=xlPivotTableVersion10
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
derniere tentave:

Ajoute cette ligne :

Dim MyTCD As PivotTable

et remplace la ligne qui pose probleme par ce qui suit :

With ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Selection)
        Set MyTCD = .CreatePivotTable(TableDestination:="R18C22", TableName:=tcd, DefaultVersion:=xlPivotTableVersion10)
End With

Si il y encore un probleme le message devrait etre different si ce n'est pas le cas je ne peux plus rien pour toi helas
Messages postés
22
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
26 septembre 2008

Ca ne marche toujours pas mais merci d'avoir essayé...
Messages postés
73
Date d'inscription
lundi 2 avril 2001
Statut
Membre
Dernière intervention
12 janvier 2010

J'ai exactement le même problème auquel j'ai trouvé une solution mais ca ne me convient pas : il faut remplacer TableDestination:= " R 3C6" par TableDestination: ="L3C6".

Pour une raison inconnu, la fonction CreatePivotTable semble n'accepter que des coordonnées en Francais, donc L à la place de R.

S'agit-il d'un bug Crosoft ? Faut-il écrire 2 codes différents en fonction de la langue installée ?
QQ1 a une idée ?

En tout cas ca fait peur...

PS : dans mon cas il s'agit d'une macro Excel que j'ai un peu modifiée pour l'appeler directement depuis VB6. Depuis Excel aucun pb, sous VB6 le même code ne fonctionne pas, obligé de remplacer R par L...
Messages postés
73
Date d'inscription
lundi 2 avril 2001
Statut
Membre
Dernière intervention
12 janvier 2010

Ah bin j'ai trouvé la solution tout seul comme un grand :

TableDestination:=.Sheets("Tableau").cells(3, 6)

et là on n'est plus dépendant de la langue.

Il se passe des choses !
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Bien vue Klimero !

Arff ! d'ou la raison pour la quelle je n'arrivais pas a reproduire ce probleme car j'utilise une version anglaise d'excel