Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Compilation de 2 macros en 1

gateau33

XLDnaute Nouveau
Bonjour,

je commence à enregistrer mes 1ères macro. J'ai un classeur excel qui comprend une base de données (onglet "base") qui doit être actualisée pour avoir les dernières données à jour. Et j'ai besoin d'actualiser aussi ensuite les TCD présents sur plusieurs autres onglets (onglet "par étab" et onglet "global") qui sont liés à cette base de données.

Pour le moment j'ai réussi a rendre fonctionnel chacune de ces macros (1. mise à jour de la base de données, et 2. actualisation des TCD). Mais je n'arrive pas à les combiner dans un même module pour ne faire qu'une seule macro. Lorsque je le fais (en supprimant la balise de fin de la 1ère et la balise de début de la 2ème), il ne m’exécute que la mise à jour de la base de données.

Voici les 2 macros :

1. actualisation de la base :

Sub ActualisationBase()
'
' Actualisation Macro
'
' Touche de raccourci du clavier: Ctrl+w
'
Sheets("Base").Select
ActiveWorkbook.RefreshAll
Sheets("Par étab").Select

End Sub


2. mise à jour des TCD :

Sub ActualisationTCD()


'Actualisation de tous les TCD :

Dim TCD As PivotTable
For i = 1 To Sheets.Count
For Each TCD In Worksheets(i).PivotTables
TCD.RefreshTable
Next
Next i

Sheets("Par étab").Select

End Sub




D'avance merci pour votre aide.
 

don_pets

XLDnaute Occasionnel
Hello, essaie ça

VB:
For Each feuil In ActiveWorkbook.Worksheets
   Worksheets(feuil.Name).Select
   For Each tcd In ActiveSheet.PivotTables
      tcd.RefreshTable
   Next tcd
Next feuil
 

gateau33

XLDnaute Nouveau
Bonjour,

merci pour l'aide.

Malheureusement, la macro met à jour les TCD (comme la macro 2 que j'avais avant), mais cela n'actualiser pas la base de donnée). Si j'essaye de compiler la macro de MAJ de la base de donnée et celle là, ça s'arrêt de nouveau la MAJ de la base de donnée. Il faut que je relance la macro une 2ème fois pour que les TCD se mettent à jour.

Bonne réception.
 

gateau33

XLDnaute Nouveau
Bonjour,

sur ce cas précis, le fichier n'est pas transférable pour 2 raisons :
- l'actualisation de la base se fait à partir de 70 autres fichiers présents dans un autre emplacement
- le contenu du fichier (données nominatives,...) n'est pas publiable en l'état.
J'ai essayé de reproduire la structure, mais je n'arrive pas à reproduire sa complexité dans un fichier de test pour que la visualisation soit concluante.

Je comprendrai que vous ne souhaitiez pas m'aider sans voir le fichier, mais ce n'est pas possible ici. En réalité la problématique que je rencontre peut être généralisée de la façon suivante : comment compiler 2 macros : une d'actualisation de base de donnée et une d'actualisation des TCD liés à cette base de données (les 2 copiées-collées ci-dessus). Je débute dans les macros, je n'ai pas le niveau à ce jour pour reproduire cette problématique sur un fichier plus simple. Si c'est vraiment bloquant pour vous, je peux essayer mais sans garantie de réussite.

Bonne réception.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…