Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

TCD excel 2003 qui plante régulièrement

Fab2108

XLDnaute Nouveau
Bonjour,

J'ai un classeur que j'utilise depuis 9 mois pour faire de la facturation.

J'utilise un TCD pour contrôler et calculer l'encours des clients lors d'un paiement "comptoir".

Mon code vba :
Private Sub PCLIENT_AfterUpdate()

Sheets("TCDPAIEMENT").Select
ActiveSheet.PivotTables("PAIEMENT").PivotCache.Refresh

ActiveSheet.PivotTables("PAIEMENT").PivotFields("CLIENT").CurrentPage = _
PCLIENT.Value


With Sheets("TCDPAIEMENT")

'ENCOURS.Value = Application.WorksheetFunction.SumIf(.Range("B:I"), PCLIENT.Value, .Range("I:I")) - Application.WorksheetFunction.SumIf(.Range("B:I"), PCLIENT.Value, .Range("P"))
ENCOURS.Value = Application.WorksheetFunction.Sum(.Range("C:C"))

End With

SELECTPFACT.Value = ""

DTPAIEMENT.Value = Now


End Sub

Régulièrement la mise à jour de Current_page par le code vba créer un éléments de page comme si il n'existait pas alors qu'il est présent dans la base de données.
Je suis obligé de supprimer mon TCD, de le recréer à la main (création initial manuel) et je relance mon code sur le même client, le même jour...et ça marche...

Auriez-vous une explication ?
 

Dugenou

XLDnaute Barbatruc
Re : TCD excel 2003 qui plante régulièrement

Bonjour,
Je ne suis pas du tout spécialiste en macros, mais par contre je fais un peu de TCD.
Ce type de pb arrive quand mon champ de page n'était pas sur "tous" mais sur un élément et que je force la page par macro.
Et tu es certain que PCLIENT.value est une valeur qui existe dans ton champ de page ?
 

Fab2108

XLDnaute Nouveau
Re : TCD excel 2003 qui plante régulièrement

Slt,

Effectivement je n'affiche que le client concerné.

Je suis sur qu'il existe puisque lorsque je reconstruit mon TCD avec la Base, ça fonctionne...
 

Dugenou

XLDnaute Barbatruc
Re : TCD excel 2003 qui plante régulièrement

Je veux dire : peut-être repasser par aucun champ de page sélectionné après refresh : du genre

ActiveSheet.....PivotFields("PCLIENT"). _ClearAllFilters

et ensuite seulement on applique la valeur
 

Discussions similaires

Réponses
1
Affichages
1 K
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…