Créer TCD base évolutive
Résolu/Fermé
ti_mouton
Messages postés
143
Date d'inscription
vendredi 29 mai 2015
Statut
Membre
Dernière intervention
5 septembre 2020
-
5 janv. 2017 à 16:24
ti_mouton Messages postés 143 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 5 septembre 2020 - 17 janv. 2017 à 12:25
ti_mouton Messages postés 143 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 5 septembre 2020 - 17 janv. 2017 à 12:25
A voir également:
- Créer TCD base évolutive
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte instagram sur google - Guide
- Créer une adresse hotmail - Guide
1 réponse
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
7 janv. 2017 à 08:39
7 janv. 2017 à 08:39
Bonjour,
L'erreur ne vient pas de là, mais plutôt du fait qu'il ne peut pas effacer le TCD, il faut le supprimer pour le recréer à nouveau.
Dans votre cas, au départ, s'il détecte la feuille "JANVIER", le programme est redirigé vers la gestion d'erreur qui veut effacer le contenu de cette feuille, mais le TCD est toujours présent. A la sortie de la gestion d'erreur, on reprend le programme principal à l'étiquette "CreationTCD", et on lui demande de recréer le TCD, or comme celui-ci est toujours présent, cela crée une nouvelle erreur et comme la gestion d'erreur n'est pas réinitialisée, le programme plante sur la ligne de création du TCD.
Le plus simple est de supprimer le TCD existant et de le créer à nouveau.
ce qui donne à partir de l'étiquette:
A tester
Cdlt
L'erreur ne vient pas de là, mais plutôt du fait qu'il ne peut pas effacer le TCD, il faut le supprimer pour le recréer à nouveau.
Dans votre cas, au départ, s'il détecte la feuille "JANVIER", le programme est redirigé vers la gestion d'erreur qui veut effacer le contenu de cette feuille, mais le TCD est toujours présent. A la sortie de la gestion d'erreur, on reprend le programme principal à l'étiquette "CreationTCD", et on lui demande de recréer le TCD, or comme celui-ci est toujours présent, cela crée une nouvelle erreur et comme la gestion d'erreur n'est pas réinitialisée, le programme plante sur la ligne de création du TCD.
Le plus simple est de supprimer le TCD existant et de le créer à nouveau.
ce qui donne à partir de l'étiquette:
CreationTCD: Sheets.Add.Name = "JANVIER" Sheets("JANVIER").Tab.ColorIndex = 40 ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ DonneesSource, Version:=xlPivotTableVersion15). _ CreatePivotTable TableDestination:="JANVIER!R2C2", TableName:= _ "LeTCDTRANSPORTEURS", DefaultVersion:=xlPivotTableVersion15 Sheets("JANVIER").Select Cells(3, 2).Select ActiveWorkbook.ShowPivotTableFieldList = True Range("B2").Select ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").AddDataField ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").PivotFields("Somme de Nombre de transport"), "Somme de Somme de Nombre de transport", xlSum ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").AddDataField ActiveSheet. _ PivotTables("LeTCDTRANSPORTEURS").PivotFields("Somme de Km Parcourus"), "Somme de Somme de Km Parcourus", xlSum Range("C2").Select ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").DataPivotField.PivotItems("Somme de Somme de Km Parcourus").Caption = "Km Parcourus" Range("D2").Select ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").DataPivotField.PivotItems("Somme de Somme de Nombre de transport").Caption = "Nombre de transport" Range("B2").Select ActiveSheet.PivotTables("LeTCDTRANSPORTEURS").CompactLayoutRowHeader = "Analyse Transports" Range("B2").Select '****************************************************************************************************************************************** Exit Sub GestionErreur: SupprimerLeTCDTRANSPORTEURS On Error GoTo 0 On Error Resume Next GoTo CreationTCD End Sub Sub SupprimerLeTCDTRANSPORTEURS() On Error GoTo Sortie Application.DisplayAlerts = False Sheets("JANVIER").Delete Sortie: End Sub
A tester
Cdlt
Modifié par ti_mouton le 11/01/2017 à 17:34
Merci pour votre réponse. Je viens de tester votre solution mais le code plante au niveai de la ligne
avec le msg d'erreur suivant : Impossible de lire la propriété PivotFields de la classe PivotTable.
Merci pour votre aide
11 janv. 2017 à 17:41
13 janv. 2017 à 16:30
Désolé pour la réponse tardive, mais j'étais absent toute la semaine.
l'erreur viens de la détection de la dernière colonne du tableau.
pour le tableau de gauche, remplacez
par
A tester
Cdlt
17 janv. 2017 à 12:25