Problème tableau croisé dynamique

Messages postés
22
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
26 septembre 2008
- - Dernière réponse : bigfish_le vrai
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
- 30 sept. 2008 à 18:57
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.
Afficher la suite 

9 réponses

Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
0
Merci
salut,

sur quelle ligne s'arrete ton code ?
Commenter la réponse de bigfish_le vrai
Messages postés
22
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
26 septembre 2008
0
Merci
A cet endroit là précisément :

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        Selection).CreatePivotTable TableDestination:= _
        "R3C6", TableName:=tcd, _
        DefaultVersion:=xlPivotTableVersion10
Commenter la réponse de cs_Ledaf
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
0
Merci
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
Commenter la réponse de bigfish_le vrai
Messages postés
22
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
26 septembre 2008
0
Merci
Ca bloque toujours à cet endroit:

.CreatePivotTable TableDestination:="R3C6", TableName:=tcd, DefaultVersion:=xlPivotTableVersion10
Commenter la réponse de cs_Ledaf
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
0
Merci
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
Commenter la réponse de bigfish_le vrai
Messages postés
22
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
26 septembre 2008
0
Merci
Ca ne marche toujours pas mais merci d'avoir essayé...
Commenter la réponse de cs_Ledaf
Messages postés
73
Date d'inscription
lundi 2 avril 2001
Statut
Membre
Dernière intervention
12 janvier 2010
0
Merci
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...
Commenter la réponse de cs_Klimero
Messages postés
73
Date d'inscription
lundi 2 avril 2001
Statut
Membre
Dernière intervention
12 janvier 2010
0
Merci
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 !
Commenter la réponse de cs_Klimero
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8
0
Merci
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
Commenter la réponse de bigfish_le vrai