Plantage une fois le fichier fermé à la réouverture (TCD + requêtes et marcos)

2

Bonjour,

Je vais essayer de décrire mon problème précisément:

J'ai un tableau croisé dynamique basé sur une requête en ODBC très simple (seulement 5 tables de ma base de données, et très peu de champs utlisé: 5)

Dans cette requête, j'utilise deux paramètres qui proviennent de cellules de ma feuille Excel, pour borner des dates (une date de début et une date de fin).

Ces deux cellules dans laquelles j'indique mes dates sont à droite de mon TCD, sur la même feuille, et j'ai bien fait pointer la requête vers ces deux cellules. J'ai ajouté une zone de texte "Actualiser" juste en dessous de ces dates pour pouvoir actualiser la période des données une fois les dates changées depuis la feuille directement, sans passer par l'onglet "Données" avec la macro qui suit:

Sub ZoneTexte2_Cliquer()
    ActiveWorkbook.RefreshAll
End Sub

Mon fichier fonctionne parfaitement une fois créé, et ce tout le temps qu'il reste ouvert. Une fois sauvegardé et fermé cependant, si je ré-ouvre mon fichier (sur mon poste ou celui d'un collègue, nous sommes en réseau TSE) l'actualisation des données fait planter Excel complètement.

Voici le rapport d'erreur:

Signature du problème :
  Nom d’événement de problème:APPCRASH
  Nom de l’application:EXCEL.EXE
  Version de l’application:14.0.6126.5003
  Horodatage de l’application:505b0834
  Nom du module par défaut:EXCEL.EXE
  Version du module par défaut:14.0.6126.5003
  Horodateur du module par défaut:505b0834
  Code de l’exception:c0000005
  Décalage de l’erreur:00816656
  Version du système:6.1.7601.2.1.0.18.10
  Identificateur de paramètres régionaux:1036
Informations supplémentaires sur le problème :
  LCID:1036
  skulcid:1036

Je n'arrive pas à déterminer si c'est un bug du programme ou un problème dans mon fichier.

J'ai un autre fichier dont la mise à jour des données ne pose aucun problème.

Merci d'avance pour votre aide!

Posté le 7 octobre 2014, 10:02
par NicoLargi
Répondre
-1

Pour cerner le problème, je te suggère d'abord de supprimer le TCD. On le recréera ensuite.

Le problème est sans doute que tu ne maîtrises pas l'ordre dans lequel se rafraichissent les informations en faisant RefreshAll, et le TCD veut sans doute se rafraichir en même temps que l'appel des données issues de la requête en ODBC, cause du plantage.

Je pense si l'hypothèse est vérifiée il faut alors procéder par étapes : d'abord rafraîchir les données, puis mettre à jour le TCD.

Est- ce que ton autre fichier comporte une requête en et même temps un TCD ?

Steelson Posté le 7 octobre 2014, 16:46
par Steelson

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :