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 :

Souci d'enregistrement d'une macro générant un tcd à partir d'un nombre de feuilles variable [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Souci d'enregistrement d'une macro générant un tcd à partir d'un nombre de feuilles variable
    Bonjour,

    J'ai un souci. Le code suivant me permet de générer un TCD qui prend en compte la même plage pour toutes les feuilles comprises entre la feuille "Debut" et la feuille "Fin" .

    Débutant sur VBA, je n'ai sûrement pas fait le code le plus efficient mais la macro fonctionne.

    Le problème se pose lors de l'enregistrement du workbook qui est refusé par excel avec une information comme quoi Excel ne peut l'enregistrer à cause d'erreurs. Si j'efface manuellement le TCD créé , l'enregistrement fonctionne.
    Je suspecte que le problème est que le sourceData de mon TCD est une variable ("Sel") qui n'a d’existence que dans ma macro mais je n'arrive pas à le confirmer ni à trouver de solution alternative.
    Je fais donc appel à vos lumières. Par avance, merci

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub creationTCDsynthese()
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim Ws As Worksheet
    Dim Sel() As String
     
    Set Ws = Worksheets("Debut")
    i = Ws.Index
    i = i + 1
    Set Ws = Worksheets("Fin")
    j = Ws.Index
    j = j - 1
     
    ReDim Sel(j - i + 1)
     
    'vérification de la présence de feuilles entre Debut et Fin
    If i <= j Then
    For k = i To j
     
    'complète le tableau avec les adresses de chaque feuille
        Sel(k - i + 1) = Worksheets(k).Range("A1:C10").Address(True, True, xlR1C1, True)
     
    Next k
    End If
    'Vidage de la feuille afin que la macro ne plante pas si il y a deja un TCD
     Worksheets("Synthese").Cells.Clear
     
    Worksheets("Synthese").Activate
        ActiveWorkbook.PivotCaches.Create( _
        SourceType:=xlConsolidation, SourceData:=Sel, _
        Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:="Synthese!R1C1", _
        tablename:="Données tous onglets", _
        DefaultVersion:=xlPivotTableVersion12
     
        ActiveWorkbook.ShowPivotTableFieldList = False
     
    MsgBox "TCD créé"
     
    End Sub

  2. #2
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Solutionné
    bonjour,

    merci à ceux qui ont pris le temps de lire ce sujet.
    J'ai fini par résoudre mon problème à l'aide d'un développeur confirmé.

    Le problème se situe dans le fait que je commencais le remplissage de mon tableau à 1. Eh oui l'index d'un tableau commence à 0 .

    J'ai modifié mon code pour commencer à le remplir à l'index zéro et du coup plus de problème de sauvegarde!
    bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Déplacement d'enregistrements avec une macro
    Par AminaAccess dans le forum Macros Access
    Réponses: 6
    Dernier message: 13/02/2013, 23h03
  2. probleme d'enregistrement dans une macro
    Par mysterauto dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/11/2012, 07h48
  3. [XL-2003] La limitation de l'enregistrement d'une macro
    Par MacroUser_O dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/02/2011, 14h11
  4. [PPT-2007] Arrêt de l'enregistrement d'une Macro
    Par PPz78 dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 21/09/2010, 22h43
  5. Enregistrement d'une macro
    Par nadegel dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/03/2010, 22h28

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