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 classeur si non ouvert / ou activation [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut Ouverture d'un classeur si non ouvert / ou activation
    Bonjour à tous !

    Il y a beaucoup de sujet sur ce problème (qui ont généralement la même partie de code) mais je n'arrive pas à l'adapter.

    J'ai une Sub dans laquelle j'appelle une fonction à plusieurs reprises.

    Depuis cette fonction, je voudrais tester si un autre classeur est ouvert et puis l'activer, sinon, l'ouvrir (et donc l'activer par la même occasion).

    J'essaye ceci sans grand succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    report = "C:\Users\... ... ... .xlsm"
    For Each Wb In Workbooks
        If Wb.Name = report Then
            MsgBox "Workbook " & Wb.Name & " déjà ouvert"
            Wb.Activate
            Exit For
        End If
    Next Wb
     
    If Wb Is Nothing Then
        ' macro que je veux si le fichier est fermé
        'MsgBox "macro que je veux si le fichier est fermé"
        Workbooks.Open Filename:=report
    End If
    J'ai testé pas mal d'autres codes que j'ai trouvé, essayant à chaque fois de bien adapter... rien à faire...

    Lorsque j'arrive à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With ActiveWorkbook
        With .Worksheets("blablabla")
            'reste du code
        End With
    End With
    La worksheet est introuvable...

    Quelqu'un aurait-il une solution simple pour ouvrir mon classeur depuis cette fonction, ou l'activer ?
    Ca me parrait super simple... je ne comprends pas pourquoi je n'y arrive pas...

    J'espère avoir été suffisamment clair et je reste à votre disposition pour tout complément.

    Merci d'avance !

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Sujet inutile...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Wb.FullName = report Then
    La fatigue peut-être...

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

Discussions similaires

  1. [XL-2013] Ouverture de classeur en reseau, ouvert par kkun d'autre
    Par abaroux dans le forum Excel
    Réponses: 6
    Dernier message: 29/04/2015, 09h10
  2. Ouverture de macro situées dans un fichier non ouvert
    Par ALM72 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/01/2013, 08h51
  3. Ajouter une clé pour une session non ouverte
    Par prgasp77 dans le forum Windows
    Réponses: 4
    Dernier message: 29/10/2005, 00h26
  4. 'BLOB non ouvert ' le retour !!
    Par Sunchaser dans le forum C++Builder
    Réponses: 8
    Dernier message: 14/01/2005, 23h29
  5. [Excel] Commentavoir si un classeur est déjà ouvert ?
    Par Henkyl dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 14/05/2004, 11h27

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