IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

ordre de priorité dans l'actualisation de tables


Sujet :

Excel

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 60
    Par défaut ordre de priorité dans l'actualisation de tables
    Bonjour,

    j'ai actuellement un classeur avec 2 feuilles , l'une contenant une tables que j'importe d'une BDD , l'autre avec un TCD quit ape sur la première feuille.

    mon soucis est que la feuille 1 et 2 semble se mettre a jours en même temps quand j'ouvre mon ficher et du coup le TCD n'est pas a jours sur les chiffre de la feuil1 mais a jour sur les chiffre de la feuil1 avant ouverture.

    suis-je clair ?

    je voudrais simplement que mon importation en feuil1 se fasse avant l'actualisation du TCD en feuil2 . est-ce faisable ?

    pour l'instant les deux se mette au jours a l'ouverture et cela sans me demander de mot de passe.

    merci de votre aide

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 366
    Par défaut
    Bonjour,

    Les TCD ne sont pas nécessairement mis à jour automatiquement. Il faut normalement demander à mettre à jour les données. Tu ne devrais donc pas rencontrer ce problème... as-tu vérifier les options de mise à jour ?

    Sinon concernant ta feuille 1, est-ce qu'il y a des liens externes ?

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 60
    Par défaut
    j'ai coché les cases pour que les TCD se mettent a jours automatiquement . ils le fond mais il semble qu'ils se mettent à jours en premier et que ma feuil1 ( plus longue à mettre à jours ) se finisse après.

    finalement j'ai pas résolu le problème ... les utilisateurs feront 'click droit/ actualiser' et ils se porteront plutôt bien je pense sauf si tu as une idée pour forcer le TCD à attendre que la feuil1 ai tout importé de la base.

    NB : je ne peux pas faire directement mon TCD sur la données de la base car la feuil1 calcul des champs. et je ne peux pas faire de vue sur la base car je n'ai pas les droits

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 366
    Par défaut
    Ah la mise à jour automatique des TCD était donc volontaire... je n'ai pas de solution quant à la résolution de l'ordre de mise à jour.

    Par contre je pense qu'il est possible de passer par une macro VBA pour gérer cet ordre. Maintenant c'est sans doute une solution extrême si tu n'as qu'un TCD pour lequel les utilisateurs n'ont qu'à faire la manip Clic droit/Actualiser

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 60
    Par défaut
    oui voilà

    ya toujours une solution mais si c'est une usine à gaz pour gagner 1 sec ... je pense que les utilisateurs s'en sortiront.

    merci d'avoir cherché.

  6. #6
    Membre très actif Avatar de XLRATOR
    Homme Profil pro
    Comptable Analyste
    Inscrit en
    Août 2012
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable Analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 226
    Par défaut
    Pourquoi ne pas insérer un bouton ActiveX dans la feuille contenant le TCD (Tableau Croisé Dynamique: pour ceux qui se demandent ce que c'est), et mettre ce qui suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'La cellule A1 de La feuille 1 =  La cellule de déstination de la requéte d'import
    Sheets("Feuil1").Range("A1").QueryTable.Refresh
    'Met à jour le TCD Nommé "PivotTable1" aprés avoir MAJ La requéte
    ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
    Celà devrait marcher.

    Cordialement.
    Entre la canne à pèche et le poisson c'est certainement la canne que je choisirais, puis apprendrais à m'en servir.
    Si on vous souffle une solution au complet c'est que vous n'auriez rien compris du problème.
    Consultez la , de forte chances que votre problème y figure et c'est plus vite que de poser une question et en attendre la réponse.
    FAQ Excel: http://excel.developpez.com/faq/

  7. #7
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour,
    voici une autre approche que j'utilise tous les jours:
    dans ma feuille "synthese" j'ai plusieurs TCD, je les mets à jour lorsque j'active ma feuille "synthese" en cliquant sur l'onglet.

    évidemment il te faudra adapter le nom de la feuille dans le code en mettant le nom de la feuil ou se trouve ton TCD:

    dans l'éditeur VBA (ALT+F11):
    1° tu fais un clic droit sur la feuille ou se trouve ton TCD
    2° tu sélectionnes : "Code"
    3° dans la fenêtre de gauche tu colles ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Activate()
    Dim pvt As PivotTable
     
    Application.ScreenUpdating = False
     
    For Each pvt In Sheets("synthese").PivotTables
    pvt.RefreshTable
    Next pvt
     
    Application.ScreenUpdating = True
    End Sub
    N'oublie pas de changer le nom "synthese" par le nom de ta feuille. (tu laisse les guillemets)

Discussions similaires

  1. Ordre de priorité dans les fonctions gtk
    Par kenshi240683 dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 23/05/2008, 16h12
  2. [SQL] ordre de priorité (AND, OR) dans une condition if
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/06/2006, 21h12
  3. [Débutant]Ordre des champs dans une table
    Par goony dans le forum Débuter
    Réponses: 4
    Dernier message: 16/02/2006, 12h05
  4. changer l'ordre des dates dans table
    Par lordyan dans le forum Requêtes
    Réponses: 11
    Dernier message: 14/01/2005, 11h12
  5. Ordre des champs dans une table
    Par patapetz dans le forum Outils
    Réponses: 5
    Dernier message: 30/07/2003, 06h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo