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 :

Condition pour la gestion des erreurs [XL-MAC 2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut Condition pour la gestion des erreurs
    Salut le forum

    Je souhaite intégrer une condition dans le code ci-dessous pour résoudre les messages d'erreur.

    Mais avant voici mon besoin : j’ai un dossier qui contient plusieurs fichiers.

    Le code ci-dessous permet d’ouvrir chaque fichier par clic d’un bouton de commande et de copier une plage donnée et de passer au fichier suivant.

    Quelle condition insérer pour qu'en cas d'absence du fichier à traiter, je souhaite q'un message s'affiche et faisant ressortir le nom du fichier inexistant.
    NB : le nom de la feuille a traiter est la feuille à ouvrir par ce code :[/CODE]Workbooks.Open Filename:=spath & sFile[/CODE]
    J'ai essayé avec mais je constate qu'il ferme le fichier qui contient le code.
    Merci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub Ouv_Classeur_Copier()
     
    'cette macro permet d'ouvrir chaque fichier d'un user
     
    ' pour copier sa plage C13:M61 et le coller sur sa feuille
     
    ' du classeur principal
     
    Set wk1 = ThisWorkbook
     
    sh = Sheets("MENU_DA").Cmde.Caption
     
    spath = "C:\Users\" & Environ("username") & "\Desktop\TEST\"
     
    sFile = Sheets("MENU_DA").Cmde.Caption & ".xlsm"
     
        wk1.Sheets(sh).Unprotect "dac2017"
     
       on error resume next
        Workbooks.Open Filename:=spath & sFile
     
        Range("C13:M61").Copy
     
        wk1.Sheets(sh).Range("C13").PasteSpecial Paste:=xlValues
     
    Application.DisplayAlerts = False
     
    ActiveWorkbook.Close Savechanges:=False
     
        wk1.Sheets(sh).Protect "dac2017"
     
    Application.DisplayAlerts = False
     
    End Sub

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    quand un fichier n'existe pas, la fonction VBA   Dir   renvoie une chaine vide,

    à tester donc avant l'ouverture du classeur et On Error est inutile …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,

    => [XL-MAC 2016]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    spath = "C:\Users\" & Environ("username") & "\Desktop\TEST\"
     
    sFile = Sheets("MENU_DA").Cmde.Caption & ".xlsm"
    et donc
    ne correspond pas à un chemin Mac
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  4. #4
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Par défaut
    Bonjour Marc-L et RyuAutodidacte

    Marc : je suis entrain de d'expérimenter ta solution.
    Voici ce que j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If dir(spath & sfile)= "" then msgbox "Fichier inexistant :exit sub
    RyuAutodidacte :
    ne correspond pas à un chemin Mac
    Vous avez raison je travail sous office 2016 et non sur MAC.
    Marc : suis-je sur la bonne voie?

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Oui, si le contenu de la variable du chemin est bon.     Effectuer déjà le test avec un fichier existant …

    (Salut Ryu !   D'habitude je ne répond pas trop pour les MAC mais là je m'en suis douté …)

  6. #6
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Re,

    Vous avez raison je travail sous office 2016 et non sur MAC.
    si cela est encore possible, modifier le 1er post pour mettre [XL-2016] au lieu de [XL-MAC 2016]
    sinon demander à un admin. du forum de le changer (ce sera mieux pour les forumeurs faisant des recherches en vba …)

    (Salut Ryu ! D'habitude je ne répond pas trop pour les MAC mais là je m'en suis douté …)
    coucou Marc,
    Bonne intuition ! - mais ceci dit si cela avait été pour MAC, tu le fais très bien
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Aide pour la Gestion des erreurs
    Par Aslan_xD dans le forum ASP.NET
    Réponses: 12
    Dernier message: 05/04/2011, 15h50
  2. Gestion des erreurs : ou trouver les erreurs possibles pour une opération
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/10/2008, 14h33
  3. [SQL-SEVER2005] Gestion des erreurs pour les requêtes
    Par eagleleader dans le forum MS SQL Server
    Réponses: 22
    Dernier message: 16/10/2007, 09h59
  4. Gestion des erreurs pour runtime
    Par cbleas dans le forum Runtime
    Réponses: 1
    Dernier message: 09/12/2006, 14h18
  5. Réponses: 6
    Dernier message: 09/06/2006, 12h17

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