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

VB 6 et antérieur Discussion :

Pb de backup d'un fichier XL avant le "save"


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut Pb de backup d'un fichier XL avant le "save"
    Bonjour à tous,

    Je suis face à un petit pb et je n'ai rien trouvé via mes différentes recherche.
    En fait j'ouvre un fichier XL via VB6 et je souhaiterais pouvoir faire un backup de ce fichier uniquement si l'utilisateur fait un "save" (Copier Monfic.Xls en MonFic.Sav)
    J'utilise donc l'évenement BeforeSave dans mon appli VB6 mais si je souhaites faire une copie du fichier à ce moment la, je me récupère une erreur 70 "Permission refusée" car ledit fichier est en cours d'utilisation ......

    Si quelqu'un a une solution ou un conseil je suis preneur.

    Merci d'avance
    (\ _ /)
    (='.'=)
    L'erreur est humaine. Mais pour une véritable catastrophe il faut un ordinateur
    (")-(") Lorsque votre problème est solutionné, merci de cliquer sur

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Tu dois pouvoir faire un "Save as" auparavant avec le nom que tu veux, puis un nouveau "Save as" avec le nom d'origine.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par J.Michel Voir le message
    J'utilise donc l'évenement BeforeSave dans mon appli VB6 ...
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    M'avait échappé celle là, mais effectivement, ça sent le VBA non ?
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  5. #5
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Non non, c'est bien du VB6.

    Je déclmare mes variable pour lancer Excel comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Public WithEvents xlApp As Excel.Application   'Application EXCEL
    Public WithEvents xlBook As Excel.Workbook   'Fichier EXCEL
    J'ouvre mon fichier Excel 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
    14
    15
    16
     
    'Ouverture de fichier Excel
    Public Sub OpenXlFile(XlFicName As String, VisuSeule As Boolean)
        On Error Resume Next
        'On essaye de retrouver une occurence de Excel
        'S'il n'est pas lancé, on aura une erreur
         Set xlApp = GetObject(, "Excel.Application")
        If Err Then
          'excel n'est pas démarré
          Set xlApp = CreateObject("Excel.Application")
        End If
        Set xlBook = xlApp.Workbooks.Open(XlFicName, , VisuSeule)
     
        xlApp.ActiveWorkbook = xlBook
        xlApp.Visible = True
    End Sub
    De ce fait je peut utiliser cette procédure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'Sauvegarde du fichier avant enregistrement
    Public Sub xlBook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
        'Et c'est ici que je prends une erreur 70 
        'si je cherche à copier le fichier ouvert dans Excel
    End Sub
    (\ _ /)
    (='.'=)
    L'erreur est humaine. Mais pour une véritable catastrophe il faut un ordinateur
    (")-(") Lorsque votre problème est solutionné, merci de cliquer sur

  6. #6
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    oui, je m'en doutais bien un peu, mais ça aurait été plus rapide de mettre le code dès le premier post

    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlBook.SaveCopyAs "test.sav"
    ça ne marche pas ?
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  7. #7
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par ThierryAIM Voir le message
    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlBook.SaveCopyAs "test.sav"
    ça ne marche pas ?

    J'avais essayé avec un SaveAs mais ca relancait le BeforeSave en boucle donc je n'avais pas testé SaveCopyAs
    Je viens de faire le test et c'est pourtant pil poil ce qu'il me fallait

    Merci pour votre aide
    (\ _ /)
    (='.'=)
    L'erreur est humaine. Mais pour une véritable catastrophe il faut un ordinateur
    (")-(") Lorsque votre problème est solutionné, merci de cliquer sur

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

Discussions similaires

  1. [Log4J] Backup du fichier log avant de l'écraser
    Par JauB dans le forum Logging
    Réponses: 2
    Dernier message: 22/03/2012, 18h25
  2. Charger un fichier son avant sa lecture
    Par Bleys dans le forum Delphi
    Réponses: 5
    Dernier message: 07/01/2007, 14h37
  3. Réponses: 20
    Dernier message: 27/10/2006, 11h16
  4. Renommer un fichier juste avant son téléchargement
    Par laulaurent dans le forum Langage
    Réponses: 2
    Dernier message: 06/01/2006, 14h55

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