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

Fermé
david3434 Messages postés 31 Date d'inscription mercredi 26 octobre 2016 Statut Membre Dernière intervention 28 juin 2017 - Modifié par Judge_DT le 13/12/2016 à 21:04
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 27 juin 2017 à 21:19
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 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
13 déc. 2016 à 19:57
Ta macro se bloque sur quelle instruction?
0
david3434 Messages postés 31 Date d'inscription mercredi 26 octobre 2016 Statut Membre Dernière intervention 28 juin 2017
22 déc. 2016 à 14:08
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 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
22 déc. 2016 à 14:46
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 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
27 juin 2017 à 21:19
peux-tu fermer cette discussion, je pense qu'elle fait double emploi avec une autre discussion plus récente.
0