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 :

Ouverture d'un fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2014
    Messages : 35
    Par défaut Ouverture d'un fichier
    Bonsoir à tous,

    J'ai créé une macro dans laquelle je demande l'ouverture d'un fichier X.
    Il arrive que ce fichier X ne soit pas fermé par l'utilisateur de la macro et cela engendre un bug. Voici les deux lignes de commande de la macro. Si le fichier est ouvert, le bug se fait sur la 1er ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Workbooks.Open Filename:="U:\X.xlsm"
        Windows("X.xlsm").Activate
    Comment pourrais-je faire pour que si le fichier est ouvert, on passe directement à la ligne 2 et s'il est fermé alors la macro se déroule normalement et l'ouvre ?

    Merci de votre réponse

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonsoir art_bras_cames, bonsoir le forum,

    Ce n'est pas la méthode la plus orthodoxe mais je fais comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Macro1()
    Dim CL As Workbook 'déclare la variable CL (Classeur)
     
    On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
    Set CL = Workbooks("X.xlsm") 'définit le classeur CL (génère une erreur si ce classeur n'est pas ouvert)
    If Err <> 0 Then 'condition : si une erreur a été générée
        Err.Clear 'efface l'erreur
        Workbooks.Open Filename:="U:\X.xlsm" 'ouvre le classeur
        Set CL = ActiveWorkbook 'définit le classeur CL
    End If 'fin de la condition
    On Error GoTo 0 'annule la gestion des erreurs
    CL.Activate 'active le classeur
    End Sub

  3. #3
    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


    Bonsoir, bonsoir !

    Là encore, sujet récurrent, suffit d'une p'tite recherche et voilà ! (équivalent à Robert)

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

Discussions similaires

  1. Ouverture d'un fichier excel predefini
    Par nberthonneau dans le forum Access
    Réponses: 10
    Dernier message: 13/06/2007, 22h14
  2. [Système] ouverture d'un fichier pdf
    Par joneil dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 17/05/2005, 10h36
  3. Réponses: 2
    Dernier message: 06/04/2005, 12h01
  4. Réponses: 5
    Dernier message: 27/07/2004, 17h04
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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