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 :

Fichier excel bloqué [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 584
    Par défaut Fichier excel bloqué
    Bonjour,
    J'ai le code suivant que j'exécute depuis ACCESS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim wbExcel As Workbook
    Set wbExcel = Workbooks.Open(fichier_1, ReadOnly:=True)
    ----------------------
     
    'Ouverture du fichier de excel
    fichier = "C:\Users\franc\Desktop\Classeur1.xlsx"
     
     
    Set wbExcel = Workbooks.Open(fichier)
     
                  .....mon traitement ....
     
    wbExcel.Close (False)
    Au premier lancement, il y a eu un plantage avant le close, donc il ne 's'est pas fait et depuis le fichier est bloqué, si je l'ouvre manuellement, il est forcément en lecture seule.
    Comment faire pour le refermer.( a part redémarrer le PC)
    Note : je ne vois même pas de fichier caché a cote du genre .~MonFichier.xlsm
    J'espère que je suis clair dans mon explication,
    Merci de votre aide précieuse.
    @+

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 141
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Au premier lancement, il y a eu un plantage avant le close
    J'imagine que ce n'est pas à la ligne 10 (ouverture du classeurà que l'application se plante. Sans avoir une vue des lignes après l'ouverture et avant la fermeture, il est difficile de comprendre la raison du problème

    Note : je ne vois même pas de fichier caché a cote du genre .~MonFichier.xlsm
    C'est normal que vous ne voyez pas le classeur, il faut rendre l'application visible.

    Petit exemple placé dans un module Access et en supposant que la bibliothèque Excel soit bien référencée
    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
    Sub t()
     Dim oExcel As Excel.Application
     Dim oWkb As Workbook
     Dim PathName As String
     PathName = "C:\Users\phili\Dropbox\MagicOffice - Test\Data\1903 - TimeSheet Rachel.xlsx"
     Set oExcel = New Excel.Application ' GetObject(, "Excel.Application")
     oExcel.Visible = True ' Rend visible l'application
     Set oWkb = oExcel.Workbooks.Open(PathName)
     If MsgBox("Voulez-vous quitter Excel", vbYesNo + vbDefaultButton2) = vbYes Then
        On Error Resume Next ' Au cas où l'utilisateur a fermer le classeur
        oWkb.Close SaveChanges:=True
        On Error GoTo 0
        oExcel.Quit
     End If
     Set oExcel = Nothing: Set oWkb = Nothing
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre éclairé Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 584
    Par défaut
    Salut, j'ai du mal m’expliquer:
    Non ca ne plante pas à la ligne 10 c'est pas ca le pb,
    En gros, une première fois, j'ai fait un code pourri qui n'a pas fait le close,
    et donc maintenant si un user veut ouvrir le fichier depuis un explorateur ,
    on lui dit que le fichier est déjà ouvert dans excel, comment débloquer la situation .

    Même si je ferme Access ( car j'ai ouvert le fichier depuis access) , le fichier excel est considéré comme étant toujours ouvert sous excel .

    Merci et désolé d'être confus
    A part redémarrer le PC, mais si c'est un fichier sur un serveur , je suis fichu

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 141
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Avez-vous lu ma réponse ?
    En VBA, si l'on ouvre une application autre que celle avec laquelle on travaille (ouvrir Word depuis Excel, Excel depuis Access, etc.) et que l'application tierce se plante, le classeur ou le document que l'on aura ouvert le sera toujours malgré le fait que l'on ne le voit pas;
    D'où ma suggestion de rendre l'application visible. Voir mon exemple qui ouvre un classeur excel depuis Access
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre éclairé Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 584
    Par défaut
    ok merci je n'vais pas compris ton message, je vais donc ouvrir Excel pour être ure de pouvoir le fermer ensuite si il y a un PB, par contre pou mon fichier bloqué, je suis coincé ?
    Comment faire pour le libérer ?

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 141
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    je vais donc ouvrir Excel pour être ure de pouvoir le fermer ensuite
    C'est ce que vous faites déjà il me semble dans le code que vous avez publié (ligne 10 - Set wbExcel = Workbooks.Open(fichier))
    Votre problème se situe entre cette ligne et la ligne où vous fermez le fichier
    Vous ouvrez le classeur et ensuite vous avez un bogue avant de fermer celui-ci . Vous ne passez donc pas par la fermeture et le classeur reste donc ouvert.
    En rendant visible l'application, vous pourrez donc le fermer manuellement
    Pour le reste, il faut chercher la cause du plantage.

    par contre pou mon fichier bloqué, je suis coincé ?
    Comment faire pour le libérer ?
    Je ne vois pas d'autres solutions simple que de redémarrer le PC et pour vos prochains tests, rendez l'application visible.

    Le code que j'ai publié fonctionne sur Access avec l'ouverture d'excel (je teste toujours les codes que je publie)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre éclairé Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 584
    Par défaut
    OK, parfait, J'ai redémarré le PV et avec Excel ouvert, c'est parfait .

    Mille mercis

  8. #8
    Membre éclairé Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 584
    Par défaut
    Hello,
    Dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim oExcel As Excel.Application
     Dim oWkb As Workbook
     Dim PathName As String
     PathName = "C:\Users\phili\Dropbox\MagicOffice - Test\Data\1903 - TimeSheet Rachel.xlsx"
     Set oExcel = New Excel.Application ' GetObject(, "Excel.Application")
     oExcel.Visible = True ' Rend visible l'application
     Set oWkb = oExcel.Workbooks.Open(PathName)
    Je voudrais pouvoir minimiser l'application excel pour ne pas gêner l'utilisateur, comment faire, je ne trouve pas .
    Mille mercis,

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 141
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je voudrais pouvoir minimiser l'application excel pour ne pas gêner l'utilisateur, comment faire, je ne trouve pas .
    En réduisant la fenêtre de l'application Excel par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oExcel.WindowState = xlMinimized
    ligne à placer, juste après la ligne d'ouverture du classeur
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  10. #10
    Membre éclairé Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 584
    Par défaut
    Simple et efficace !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/08/2020, 14h56
  2. [XL-2013] Ouverture fichier Excel bloqué
    Par leloup84 dans le forum Excel
    Réponses: 0
    Dernier message: 20/06/2014, 12h00
  3. [XL-2010] Mon fichier excel se bloque(plantage réccurent)
    Par nassiri dans le forum Excel
    Réponses: 2
    Dernier message: 09/11/2013, 00h34
  4. [Turbo Pascal] Utiliser un fichier Excel
    Par Lady dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 09/03/2003, 20h34
  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