Bonjour Fred,
J'espère que tu as passé des bons vacances !
Je suis bloquée sur cette macro que tu m'as aidé à la faire. J'ai juste ajouter les éléments suivant:
Supprimer le segment dépôt , filtre le dépôt, enregistrer la feuille ensuite revenir sur le fichier source est créer le segment dépôt parce que j'en ai besoin pour d'autres macros .
Une fois sur deux le code ne marche pas ... est ce qu'il y a moyen de le simplifier ?
Sub VSL()
Application.CalculateBeforeSave = False
Dim fichier As String
Workbooks("PF CDE.xlsm").Sheets("Préparationdujour").Activate
ActiveWorkbook.SlicerCaches("Segment_DEPOT3").Slicers("DEPOT 1").Delete
With Sheets("Préparationdujour").PivotTables("Tableau croisé dynamique1").PivotFields("DEPOT")
.PivotItems("001").Visible = True
.PivotItems("002").Visible = True
.PivotItems("S01").Visible = False
.PivotItems("008").Visible = False
End With
fichier = "VSL" & Format(Date, "dd-mm-yy-ss")
Sheets(Array("Préparationdujour")).Copy
With ActiveWorkbook
.SaveAs "C:\Users\Souu\Desktop\test\"" & fichier
.Close
End With
With Sheets("Préparationdujour")
.PivotTables("Tableau croisé dynamique1").PivotSelect "", xlDataAndLabel, True
Workbooks("PF CDE.xlsm").Sheets("Préparationdujour").Activate
ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables( _
"Tableau croisé dynamique1"), "DEPOT").Slicers.Add ActiveSheet, , "DEPOT 1", _
"DEPOT", 174, 514.5, 144, 198.75
ActiveSheet.Shapes.Range(Array("DEPOT 1")).Select
ActiveSheet.Shapes.Range(Array("DEPOT 1")).Select
ActiveSheet.Shapes("DEPOT 1").IncrementLeft -217.5
ActiveSheet.Shapes("DEPOT 1").IncrementTop -171
ActiveSheet.Shapes("DEPOT 1").ScaleHeight 0.3471698113, msoFalse, _
msoScaleFromTopLeft
ActiveWorkbook.SlicerCaches("Segment_DEPOT3").Slicers("DEPOT 1"). _
NumberOfColumns = 2
ActiveWorkbook.SlicerCaches("Segment_DEPOT3").Slicers("DEPOT 1").Style = _
"SlicerStyleDark3"
End With
End Sub
Cordialement