Existe t'il une commande "ne pas tenir compte si dossier vide" ?

david3434 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Ma macro me permets d'enregistrer des PDF pour l'ensemble de mes magasins. Cependant pour certains magasins et selon les mois il se peut qu'il n'y ai pas de donnée.

Le problème c'est que dans ce cas là la macro se bloque avec un message d'erreur et me demande de choisir entre "débogage; arrêt; fin etc"

Ci dessous ma macro pour un magasin. Existe t'il une commande permettant de passer au magasin suivant s'il n'y pas de donnée pour ce magasin ?

"Sub test()
'
' PDF_HYPER Macro
'


Sheets("Analyse jour Décote Auchan").Activate

With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("magasin" _
        )
        For Each Pi In .PivotItems
        If Pi.Name <> "AUCHAN SOUPPES/LOING" Then .PivotItems(Pi.Name).Visible = False
        .PivotItems("AUCHAN SOUPPES/LOING").Visible = True
        Next

End With

NumJour = Cells(2, 4).Value
    NomMag = "AUCHAN SOUPPES SUR LOING"
    NomFichier = "Stop Gaspi " & NumJour & " - " & NomMag

Range("A" & Rows.Count).End(xlUp).Select
    Sheets("Analyse jour hors Décote Auchan").Activate
'
    With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("magasin" _
        )
        For Each Pi In .PivotItems
        If Pi.Name <> "AUCHAN SOUPPES/LOING" Then .PivotItems(Pi.Name).Visible = False
        .PivotItems("AUCHAN SOUPPES/LOING").Visible = True
        Next

End With

Range("A" & Rows.Count).End(xlUp).Select


Sheets(Array("Analyse jour Décote Auchan", "Analyse jour hors Décote Auchan")).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="R:\Démarques\décote STOP GASPI\Hypers\" & NomFichier


End Sub"
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
Ta macro se bloque sur quelle instruction?
0
david3434 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
 
Désolé pour la réponse tardive mais la mail me prévenant que l'on m'avait répondu était dans mes spams :-/

C'est la 4ème ligne
" .PivotItems("AUCHAN SOUPPES/LOING").Visible = True " car en fait je n'ai pas de données dans mon onglet décôte.

Pour l'instant j'ajoute une ligne à zéro pour contourner le problème
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Peut-être ainsi:
For Each Pi In .PivotItems
        If Pi.Name <> "AUCHAN SOUPPES/LOING" Then 
                .PivotItems(Pi.Name).Visible = False
        Else
             .PivotItems(Pi.Name).Visible = True
        End if
Next
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
peux-tu fermer cette discussion, je pense qu'elle fait double emploi avec une autre discussion plus récente.
0