IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Sauter une partie de la procédure VBA si une ligne est en erreur


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Contrôleur Financier
    Inscrit en
    Mars 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur Financier

    Informations forums :
    Inscription : Mars 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Sauter une partie de la procédure VBA si une ligne est en erreur
    Bonjour,
    Tout d'abord j'espère que je poste au bon endroit.

    Je recherche de l'aide pour une macro dont la principale fonction est de copier/coller des données filtrées par axes analytiques (Région,Business unit, etc...) issues d'une table powerpivot et des les générer sur une trame Excel unique à dupliquer en autant d'Axe analytique existant.

    Ma problématique est la suivante : lorsque la macro active les différents filtres du powerpivot, il arrive parfois que le champ "BU" soit inexistant dans la base de données. En effet si je n'ai pas de données financière pour la BU à l'instant T, il est tout à fait probable que je puisse avoir des données lors de la mise à jour suivante.
    J'ai donc bien entendu un message d'erreur lorsque cela se produit.
    j'ai fait plusieurs recherches pour contourner le problème, et j'ai pensé à utiliser une instruction de type ON ERROR RESUME NEXT, mais cela ne me convient pas.
    En réalité, je ne souhaite pas aller à l'instruction suivante mais tout simplement sauter toute une partie de la procédure lorsque l'erreur se produit ( voir l'exemple d'un bout de code ci-dessous annoté de ce que je souhaiterais mettre en place).

    Je précise également que contourner l'erreur ne me pose pas de problème avec un tel type d'instruction dans ma macro même si je sais qu'elles ne sont pas toujours bien accueillies par des développeurs aguerris .

    Je vous remercie pour l'attention que vous porterez à mon message.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    '--------------------------------------------------------CODE REGION 1---------------------------------------------------------------------------------
        Sheets("En-Cours").Select
        ActiveWorkbook.SlicerCaches("Segment_Branche_Nom1"). _
            VisibleSlicerItemsList = Array( _
            "[EN-COURS].[Branche_Nom].&[DIRECTION OPERATION 1]")
        ActiveWorkbook.SlicerCaches("Segment_BU_Code1"). _
            VisibleSlicerItemsList = Array( _ "[EN-COURS].[BU_Code].&[BU1]")    ->    Si code en erreur aller directement au point  2
        ActiveWorkbook.SlicerCaches("Segment_Entité_Code").ClearManualFilter
            VisibleSlicerItemsList = Array( _
            "[EN-COURS].[Type].&[> 6 mois]", _
            "[EN-COURS].[Type].&[entre 1 et 6 mois]")    
        Range("E2") = "REGION 1" 
        'Ouverture Trame
        Point 2  Workbooks.Open Filename:= XXX\XXX\XXX.xls

  2. #2
    Membre confirmé
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 365
    Points : 631
    Points
    631
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    On Error GoTo DecalerSiErreur

    Insérer ceci avant le point ou tu veux redémarrer.




Discussions similaires

  1. Besoin d'aide pour faire une procédure
    Par Romish dans le forum Maple
    Réponses: 0
    Dernier message: 29/05/2013, 19h15
  2. Réponses: 2
    Dernier message: 12/12/2007, 13h53
  3. Besoin d'aide pour faire une procédure stockée
    Par PoichOU dans le forum SQL
    Réponses: 17
    Dernier message: 30/04/2007, 17h55
  4. [Debutant]Commande pour sauter une ligne
    Par ghan77 dans le forum Débuter
    Réponses: 6
    Dernier message: 11/01/2006, 15h28
  5. Réponses: 5
    Dernier message: 08/01/2004, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo