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 :

[VBA-E]WinRar n'aime pas l'adresse de mon fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Points : 62
    Points
    62
    Par défaut [VBA-E]WinRar n'aime pas l'adresse de mon fichier
    Bonjour à toutes, bonjours à tous,

    Je vous expose mon problème :

    Citation Envoyé par WinRar

    C:\ClasseurZippé.rar: Impossible d'ouvrir C:\Documents
    Le fichier spécifié est introuvable.
    C:\ClasseurZippé.rar: Impossible d'ouvrir and
    Le fichier spécifié est introuvable.
    C:\ClasseurZippé.rar: Impossible d'ouvrir Settings\Boux2\Bureau\doc.pdf
    Le chemin d'accès spécifié est introuvable.
    après l'execution du code suivant :

    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
     
    Declare Function ShellExecute Lib "shell32.dll" Alias _
           "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
           As String, ByVal lpFile As String, ByVal lpParameters _
           As String, ByVal lpDirectory As String, ByVal nShowCmd _
           As Long) As Long
    Sub testZip()
    Dim Zippeur$, Archive$, Source$
      Zippeur = "C:\Program Files\WinRAR\WinRAR.exe"
      Archive = "C:\ClasseurZippé.rar"
      Source = "C:\Documents and Settings\Boux2\Bureau\doc.pdf"
    '  'création de l'archive
      ShellExecute 0, "open", Zippeur, _
          "a " & Archive & " " & Source, "", vbHide
     
    End Sub
    et je ne comprend pas pourquoi.

    A noter que si Source = "C:\doc.pdf" winRar fonctionne bien comme il faut, j'en conclu à un problème d'espace ...

    Autre question j'aimerais savoir si je fais une procédure qui créer une archive et quelle ne touve pas WinRar d'installer comment utiliser (Quel est le chemin ?) de l'outils windows XP de base ?

    Merci de bien vouloir me répondre.

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    Salut

    De mémoire, il me semble que la fonction shellexecute n'aime pas du tout les espaces dans les paramètres.

    je pense que si tu ecrit ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      Zippeur = ""C:\Program Files\WinRAR\WinRAR.exe""
      Archive = ""C:\ClasseurZippé.rar""
      Source = ""C:\Documents and Settings\Boux2\Bureau\doc.pdf""
    ça devrait aller mieux

    si du met des double quote partou il va passer en paramètre nom plus:
    C:\Documents and Settings\Boux2\Bureau\doc.pdf
    mais bien
    "C:\Documents and Settings\Boux2\Bureau\doc.pdf"
    ce qui est bien différent pour shellexecute

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Points : 62
    Points
    62
    Par défaut
    Pas trop mal sauf que là il me sauvegarde ca dans une hierarchie c-a-d
    Dans mon rar j'ai Un repertoire Documents and Settings, puis un repertoire Boux2, puis un dossier Bureau, puis enfin mon fichier.

    Ceci est-il évitable ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par padre03
    Salut

    De mémoire, il me semble que la fonction shellexecute n'aime pas du tout les espaces dans les paramètres.

    je pense que si tu ecrit ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      Zippeur = ""C:\Program Files\WinRAR\WinRAR.exe""
      Archive = ""C:\ClasseurZippé.rar""
      Source = ""C:\Documents and Settings\Boux2\Bureau\doc.pdf""
    ça devrait aller mieux

    si du met des double quote partou il va passer en paramètre nom plus:
    C:\Documents and Settings\Boux2\Bureau\doc.pdf
    mais bien
    "C:\Documents and Settings\Boux2\Bureau\doc.pdf"
    ce qui est bien différent pour shellexecute
    C'est pas deux c'est trois doubles quotes qu'il veut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Zippeur = """C:\Program Files\WinRAR\WinRAR.exe"""  Archive = """C:\ClasseurZippé.rar"""
      Source = """C:\Documents and Settings\Boux2\Bureau\doc.pdf"""

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Points : 15
    Points
    15
    Par défaut
    oups

    effectivement, je devais pas avoir les yeux en face des trous. C'est bien 3 quotes

    Désolé, mais je devais pas avoir les yeux en face des trous, ou alors pas réveiller

    R'as donc résolu ton problème

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Points : 62
    Points
    62
    Par défaut [VBA-E]Nouveau problème
    J'ai encore un problème avec Winrar.
    Je veux en faite sauvegarder dans un rar tout un répertoire. Quand le répertoire est un repertoire quelconque pas de souci seulement
    quand c'est le dossier qui contient le fichier Excel à partir du quel est lancé la sauvegarde il me met :
    Citation Envoyé par WinRar
    f:\ClasseurZippé.rar: Impossible d'ouvrir f:\A.xls
    Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus.
    En clair mon fichier A.xls sur le quel je lance le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Declare Function ShellExecute Lib "shell32.dll" Alias _
           "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
           As String, ByVal lpFile As String, ByVal lpParameters _
           As String, ByVal lpDirectory As String, ByVal nShowCmd _
           As Long) As Long
    Sub testZip()
    Dim Zippeur$, Archive$, Source$
      Zippeur = "C:\Program Files\WinRAR\WinRAR.exe"
      Archive = ActiveWorkbook.path & Application.PathSeparator & "ClasseurZippé.rar"
      Source = ActiveWorkbook.path & Application.PathSeparator
    End Sub
    pose ce problème !

    Ce qui est logique mais comment résoudre ce nouveau problème ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut
    Tu veux zipper le fichier excel qui execute la macro? (et qui est donc ouvert)

    Je donne une idée comme ca (qui n'est peut etre pas la meilleure )

    avec la macro de ton fichier excel, tu en ouvre un autre qui fait le zip et qui ferme ton fichier avant pour ne plus avoir le probleme, ensuite avec ton fichier qui t'a servi à faire ton zip tu reouvre ton fichier actuel et tu ferme celui qui t'a servi à faire ton zip

    Hein?? comment ca c'est tordu??

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Points : 62
    Points
    62
    Par défaut
    Merci pour cette solution je vais attendre d'autres point de vue avant de mettre en place (en dernier recours) cette méthode un peu lourde je pense!

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut
    Ca pour etre lourd....

    sinon (là je fais que donner une idée) il est possible de piloter excel depuis un programme VB j'ai cru lire dans d'autre questions... donc peut etre qu'il est plus simple (je pense pas que le code soit enormement différent) de faire ca sous vb.

    Apres c'est toi qui voit

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Points : 62
    Points
    62
    Par défaut
    Explique moi c'est quoi "faire ca sous vb" ?

    A titre d'information j'ai Excel 2003 et basta et aussi je fini ce soir mon contrat donc à 17h00 aurevoir et il ne me reste plus que cette sauvegarde à faire.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut
    Ok alors oublie ma solution 2 !!

    bah t'a des programmes comme, de mémoire, microsoft visual basic editor qui te permettent de programmer en Visual basic et tu peux créer un code qui te fait le meme que ce que tu fait sous vba excel... apres faut voir quel est ton cas... mais si de toute facon tu n'as qu'excel il faut oublier ca !

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Points : 62
    Points
    62
    Par défaut
    Personne à part Elstak n'a d'idée ? C'est pas que je suis mal mais quand même je fini ce soir.

Discussions similaires

  1. Pas d'écriture dans mon fichier de log erreur php
    Par Christophe Charron dans le forum Sécurité
    Réponses: 0
    Dernier message: 17/09/2008, 12h59
  2. Réponses: 8
    Dernier message: 04/05/2008, 14h09
  3. Réponses: 2
    Dernier message: 07/08/2007, 21h41
  4. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45
  5. Envoi d'un mail en VBA: outlook ne se lance pas
    Par Hannibal dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/06/2003, 15h24

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