Probléme macro TCD selon version excel

  • Initiateur de la discussion Initiateur de la discussion bendouch71
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

bendouch71

Guest
J'ai réalisé un programme sous excel 2003 mais qui ne fonctionne pas sous 2000!
Voici le code concernant le tcd :
Code:
Sheets("TCD").Select
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "'Liste VH'!R1C1:R" & dernlign & "C11").CreatePivotTable TableDestination:= _
        "TCD!R3C1", TableName:="Tableau croisé dynamique10", _
       [B] DefaultVersion:=xlPivotTableVersion10[/B]
    With ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotFields("Nouv. Affect.")
        .Orientation = xlColumnField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotFields( _
        "type" & Chr(10) & "mat" & Chr(10) & "CDP")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("Tableau croisé dynamique10").AddDataField ActiveSheet. _
        PivotTables("Tableau croisé dynamique10").PivotFields("NOVH"), "Somme de NOVH" _
        , xlSum
    ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotSelect "", _
        xlDataAndLabel, True
    Range("A3").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotFields( _
        "Somme de NOVH").Function = xlCount

J'ai alors enlevé " DefaultVersion:=xlPivotTableVersion10" car on m'a dit que ç a marche pas.
Aprés de nombreux essais j'en conclu : que c'est al derniére ligne qui pose probléme :
- sous excel 2003 :
Code:
ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotFields( _
        "Somme [B]de[/B] NOVH").Function = [B]xlCount[/B]
- sous excel 2000 il faut mettre :
Code:
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
        "Somme NOVH").Function = xlCountNums

Question : y at'il un code "générique qui fonctionnerait pour les deux versions"?
Sinon je peux peux etre faire un code différent selon condition avec un IF.
Avez vous des idées?
MERCI
 
Re : Probléme macro TCD selon version excel

Bonsoir Bendouch,

Pour mémoire.
DefaultVersion:=xlPivotTableVersion10 ne fonctionne pas sous Excel 2000 car le parametre DefaultVersion n'existe pas sous Excel 2000.

Pour la question xlCount et xlCountNums dans Excel 2000 et Excel 2002 ces variables existent.
Je n'ai pas Excel 2003 mais tu peux faire le test proposé en fin de Post pour vérifier la valeur des constantes.
xlCountNums correspond à -4113
et
xlCount correspond à -4112

Attention quand meme à leur utilisation, normalement elles ne font pas la meme chose.
xlCount correspond à NBVAL. Elle compte toutes les cellules non vides (Texte et Numérique)
xlCountNums correspond à NB. Elle compte toute les cellules non vides numériques (Numérique seulement)
Donc attention au risque d'erreur s'il y a du texte et des nombres dans ton champ !!
Le probleme vient peut etre d'ailleurs...

En tout état de cause, pour faire ce que tu veux faire, tu peux essayer ceci :
ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotFields( _
"Somme de NOVH").Function = IIf(Application.Version = "9.0", xlCountNums, xlCount)



NB:
Sous Excel 2003 essaie la chose suivante :

Sub Test()
MsgBox xlCountNums & " / -4113"
MsgBox xlCount & " / -4112"
End Sub

Si tu obtiens :
-4113 / -4113
et
-4112 / -4112

C'est que tu n'as peut etre pas qu'un pb de Constante ...

Verifie aussi ta version Excel 2000, la mienne est en Services Pack SR1.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
1
Affichages
942
DelphineDF
D
D
Réponses
0
Affichages
2 K
Demha_2022
D
Réponses
1
Affichages
2 K
Compte Supprimé 979
C
V
Réponses
69
Affichages
9 K
V
S
Réponses
6
Affichages
4 K
S
J
Réponses
4
Affichages
2 K
jmten92
J
M
  • Question Question
Réponses
0
Affichages
1 K
Mirguy23
M
L
Réponses
2
Affichages
5 K
lolo62000
L
O
Réponses
2
Affichages
926
S
Réponses
0
Affichages
511
said.aghzil
S
P
Réponses
6
Affichages
1 K
P
Retour