Bonjour,

Je suis en train d'implémenter une macro qui ouvre des fichiers selon un ID entré par l'utilisateur, et qui génère un fichier selon différents critères.
Dans la création du fichier, je dois créer un TCD dans un onglet, prenant en paramètre des données d'un autre onglet.

Le TCD se crée bien lorsque je traite qu'un seul fichier.
Mais dans un cas, je fais une boucle car plusieurs fichiers sont à traiter.
Dans ce cas, dès le premier fichier traité, message d'erreur :
"Erreur d'exécution '5' : Argument ou appel de procédure incorrect".
Blocage dès le début : " ActiveWorkbook.PivotCaches.Add"

Et quand je débugge la macro étape par étape, il bloque un peu plus loin dans le "Selection.Group", le groupement par date.

Voici le code :
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
            ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "Donnees_synthese!R10C1:R35C9").CreatePivotTable TableDestination:= _
        "[" & Nomfic & "]Synthèse!R1C1", TableName _
        :="Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10
 
    With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Date")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Type")
        .Orientation = xlColumnField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Devise")
        .Orientation = xlRowField
        .Position = 2
    End With
    Range("A2").Select
    Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, _
        False, True, False, True)
    ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
        PivotTables("Tableau croisé dynamique2").PivotFields("Reste dû"), _
        "Somme de Reste dû", xlSum
Est-ce possible que le code s'exécute trop vite dans une boucle ?