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

Macros et VBA Excel Discussion :

Problème Excel plantage


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Par défaut Problème Excel plantage
    Bonjour,
    Je travaille actuellement sur l'automatisation d'un outil. étant pour le travail je ne peux vous le joindre.
    le fichier contient un onglet source de 3000 ligne pour 130 colonne.
    après j'ai pas mal de tcd et d'autre onglet qui se base dessus. (peut etre 20 30)
    Le code vba me permet de creer le fichier source a partir de plusieurs fichier, réaliser un traitement (création de colonne supplémentaire dans la source) mise à jour de tous les tcd, copier coller des tcd en valeur.
    le fichier à la base faisait 4Mo et maintenant il fait 50mo. j'ai continuer mon projet et il a passer la barre de 60 mo . par contre maintenant il plante à l'ouverture.

    Je vous contacte car c'est assez critique, urgent et je ne vois pas la raison

    et je n'ai pas de ligne et colonne en trop.

    que me conseillez vous ?

    le problème semble survenir lorsque je souhate mettre à jour mes tcd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Sub Update_tcd()
     
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
     
    Sheets("Reponse").Select
     
    'dimension onglet
    nbligrep = Sheets("Reponse").Cells(Rows.Count, 1).End(xlUp).Row
    nbcolrep = Sheets("Reponse").Cells(1, Columns.Count).End(xlToLeft).Column
     
     
    Sheets("tcd_control").Select
    ActiveSheet.PivotTables("tcd_control").SourceData = "reponse!R1C1:R" & nbligrep & "C" & nbcolrep 'mise à jour du tcd contol
    ActiveSheet.PivotTables("tcd_control").PivotCache.Refresh
     
    Sheets("tcd_1").Select
    For i = 1 To 10
    ActiveSheet.PivotTables("tcd" & i).SourceData = "reponse!R1C1:R" & nbligrep & "C" & nbcolrep 'mise à jour des tcd
    ActiveSheet.PivotTables("tcd" & i).PivotCache.Refresh
    Next
     
     
    Sheets("tcd_control").Select
     
    Application.ScreenUpdating = True
        Application.Calculation = xlCalculationAutomatic
     
    End Sub
    merci par avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Quelle version utilises-tu ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Par défaut
    Excel 2013, j'ai ajouter du code là haut car je pense que le problème survient au moment de mettre à jour tous les TCD

    plus précisément au moment où je met à jour la source avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PivotTables("tcd_control").SourceData = "reponse!R1C1:R" & nbligrep & "C" & nbcolrep 'mise à jour du tcd contol
    j'effectue la mise à jour car j'ai ajouter une colonne à la fin de la source. cette étape me permet de pouvoir acceder à cette colonne dans mes TCD.
    auparavant cette étape ne plantait pas. il est possible que Excel est arriver à bout

    est il possible que mon fichier contiennent du cache inutile qui pourrait explique cette surcharge.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Bonjour,

    Oui, par défaut, les data sont sauvegardées sauf erreur avec la PivotTable ....

    Sous Excel Anglais: PivotTable -> Options -> Data: bien décocher 'Save source data with file' et 'enable show details'
    Sous VBA, (EDIT)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set pvtTable = Worksheets("Sheet1").Range("A3").PivotTable
    pvtTable.SaveData = False

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 91
    Par défaut
    Merci l'ami de ta réactivité. avant de regarder ton message jai fait cette manipulation et bingo mon fichier vient de passer à 18MO et je n'ai pas encore fini.

    peux tu me donner des explication sur ces valeur :
    - enregistrer les données sources avec le fichier
    - Activier l'affichage des détail
    - nombre d'élément à retenir

    pour l'instant je fait 2 sur 3 (je n'ai pas fait activer l'affichage des détail)

    quels sont les inconvénients avec cette manipulation ?

    je viens de m’apercevoir d'un problème avec cette manip. quand je rouvre le fichier, les tcd ne sont pas accessible. je dois faire une actualisation. quand je l'enregistre et je le rouvre, mes slices disparaît.
    pour résoudre cela j'ai mis actualisation à l'ouverture. j'ai garder enregistrer les données sources pour mon tcd qui utilise les slices. par contre je ne comprend pas pourquoi une fois sur deux mes slices disparaissent.

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    et ben .... toujours des compromis pas faciles
    Ce que j'ai compris:
    - enregistrer les données sources avec le fichier: Excel sauve par défaut une copie locale des data avec le TCD (autant de fois qu'il y a de TCD, même si les data source sont les mêmes!)
    C'est en particulier ce qui permet de voir le TCD même si les données sont sur un autre fichier, non accessible par exemple ....
    - Activier l'affichage des détail: permet quand on double click sur un TCD, de recréer le données source! Et oui, si c'était confidentiel, c'est raté

    Les TCD .... difficile de s'en passer quand même, non? Bon courage

Discussions similaires

  1. Pas d'idées pour ce problème | Excel |
    Par madnux dans le forum C++Builder
    Réponses: 10
    Dernier message: 30/03/2007, 18h40
  2. Problème EXCEL VBA
    Par olivierm34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/03/2007, 23h52
  3. [VB 2005] Problème Excel dans VB
    Par D4rkTiger dans le forum Windows Forms
    Réponses: 1
    Dernier message: 04/09/2006, 22h57
  4. Réponses: 22
    Dernier message: 28/03/2006, 14h59
  5. Problème excel ole : propriété leftheader
    Par cchatelain dans le forum Langage
    Réponses: 1
    Dernier message: 10/01/2006, 16h42

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