problème macro

Bnj

XLDnaute Occasionnel
bonjour à tous,

je souhaiterais créer une macro qui me permettrai à la fermeture de :

retirer tous les filtres des tableaux et TCD
actualiser les données
sauvegarder le classeur à deux endroits différents : l'endroit de base où se trouve le fichier et un autre endroit du réseau

est ce possible ?

Private Sub Workbook_BeforeClose
ActiveWorkbook.SaveAs Filename:= _
"Mon chemin\Mon fichier.xlsm", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=True
ActiveSheet.AutoFilterMode=false
ActiveWorkbook.RefreshAll
End Sub
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : problème macro

Bonsoir Bnj,

Un essai dans le fichier joint. Tous les filtres des tableaux, TCD ou plage simple de toutes les feuilles de calcul devraient être remis à zéro.

le code est dans module1:
VB:
Sub MAJ_RAZfiltre()
Dim lsto As ListObject, pvt As PivotTable, pvf As PivotField
Dim pvi As PivotItem, xrg As Range, wsh As Worksheet

  Application.ScreenUpdating = False
  'actualiser tous les TCD
  ActiveWorkbook.RefreshAll

  'raz filtre des tableaux
  For Each wsh In ThisWorkbook.Worksheets

    'raz filtre des tableaux
    For Each lsto In wsh.ListObjects
      lsto.ShowAutoFilter = False
      lsto.ShowAutoFilter = True
    Next lsto

    'raz filtre des TCD
    For Each pvt In wsh.PivotTables
      For Each pvf In pvt.PivotFields
        For Each pvi In pvf.PivotItems
          pvi.Visible = True
        Next pvi
      Next pvf
    Next pvt

    'raz de la plage filtrée le cas échéant
    If wsh.AutoFilterMode Then
      Set xrg = wsh.AutoFilter.Range
      xrg.AutoFilter
      xrg.AutoFilter
    End If
  Next wsh
End Sub
 

Pièces jointes

  • Bnj-raz Filtres-v1.xlsm
    33 KB · Affichages: 33
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : problème macro

(re)Bonsoir Bnj,

La suite... A la fermeture du classeur, une copie est enregistrée sous le chemin et nom indiqués dans la constante nomCopie qui figure en tête de module1.

Dans le module de ThisWorkbook, la procédure évènementielle Workbook_BeforeClose(Cancel As Boolean) appelle la procédure MaJ_RazFiltre_Copie située dans module1.
 

Pièces jointes

  • Bnj-raz Filtres-v2.xlsm
    33.5 KB · Affichages: 34
D

darkfire

Guest
Re : problème macro

Bonsoir

Merci pour ton aide et surtout pour ton fichier 2 qui marche à merveille !
Cependant, je n'arrive pas à de filtrer les segments de mes tcd . est ce normal ?
Existe t il une solution pour cela ?

Merci
 

Discussions similaires

Réponses
2
Affichages
743

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz