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

VBA Word Discussion :

Manipulation d'un fichier excel déjà ouvert [WD-2016]


Sujet :

VBA Word

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Points : 48
    Points
    48
    Par défaut Manipulation d'un fichier excel déjà ouvert
    Bonjour,

    J'ai besoin d'utiliser dans word les données d'un fichier excel. Mon code va donc vérifier (avec la fonction FileInUse que j'ai trouvée sur le net) s'il est ouvert ou non avant de commencer à travailler dessus.

    S'il n'est pas ouvert, ça l'ouvre sans problème. S'il l'est, j'ai une erreur '9' sur la ligne : Set oWB = oExcel.Workbooks(PARAMETERS_FILE)


    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
    Sub UpdateList()
        Chemin = ThisDocument.Path
        Dim oExcel As Excel.Application
        Dim oWB As Excel.Workbook
        Set oExcel = New Excel.Application
     
        If FileInUse(Chemin & "\" & PARAMETERS_FILE) Then
            Set oWB = oExcel.Workbooks(PARAMETERS_FILE)
        Else
            Set oWB = oExcel.Workbooks.Open(Chemin & "\" & PARAMETERS_FILE)
        End If
     
        [...]
     
    End Sub
     
     
    Public Function FileInUse(sFileName) As Boolean
        On Error Resume Next
        Open sFileName For Binary Access Read Lock Read As #1
        Close #1
        FileInUse = IIf(Err.Number > 0, True, False)
        On Error GoTo 0
    End Function
    Une idée ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par DarkGriffin Voir le message

    Bonjour,

    C'est normal, car vous avez créé une nouvelle instance d'Excel. Pour récupérer l'instance en cours, il vous faut utiliser l'instruction GetObject :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim ExApp as Object
     
     Set ExApp= GetObject(, "Excel.Application")

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Points : 48
    Points
    48
    Par défaut
    Rahhh merci, c'était évident mais je suis resté trop longtemps dessus !

    Bon ben résolu, merci Eric, toujours là pour nous sauver

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

Discussions similaires

  1. Comment savoir si un fichier Excel est ouvert en lecture seul
    Par patate5555 dans le forum VBA Access
    Réponses: 2
    Dernier message: 21/06/2007, 13h53
  2. Lire fichier Excel deja ouvert.
    Par ketthos dans le forum C#
    Réponses: 2
    Dernier message: 28/05/2007, 00h59
  3. copier une plage d'un fichier Excel non ouvert vers la feuille en cours
    Par mich2704 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/06/2006, 12h30
  4. savoir si un fichier excel est ouvert
    Par toytoy18 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/06/2006, 10h12
  5. [VB6] (Pilote Isam) Tester si un fichier excel est ouvert
    Par Requin15 dans le forum VB 6 et antérieur
    Réponses: 30
    Dernier message: 20/03/2006, 17h57

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