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 :

Shell avec espaces et nom variable [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour!

    J'ai regardé si une discussion de ce type existait sur plusieurs forums, j'espère vraiment que ma demande n'est pas redondante...

    Alors voici mon bout de code qui m'embête en ce moment:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lancement = Shell("""C:\Program Files\Dassault Systemes\B19\win_b64\code\bin\CATSTART.exe""" & NomFichier, 1)
    J'ai lu les articles sur les guillemets à rajouter en cas d'espace dans le String, mais je n'ai pas trouvé de précisions par rapport à des espaces dans mon nom variable qu'est "NomFichier". J'ai essayé avec et sans le "&", avec plus ou moins de guillemets, avec vbGet, vbMethod (je ne crois pas avoir compris ce passage-là, d'ailleurs, si quelqu'un peut éclairer une pauvre noob), and frankly, I'm out of ideas

    Si quelqu'un a une idée (ou une idée d'où je peux trouver une réponse), je suis toute ouïe! D'ailleurs, pour moi le problème réside dans les espaces, mais c'est peut-être autre chose!

    Thanks anyhow!

    (Note: j'ai commencé le VBA la semaine dernière , j'aime beaucoup ça, il me manque juste BEAUCOUP de pratique... et de jugeote)

    Argh, je viens de trouver quelque chose:

    Apparemment il faudrait faire quelque chose de cette forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Shell """C:\Program Files\Microsoft Office\Office\winword.exe"" _
      """ & strFichier & """", _
      vbNormalFocus
    Mais mon programme ne lance toujours rien. Et ne me retourne pas d'erreur, c'est ça le plus frustrant.

  2. #2
    Membre éprouvé
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Points : 1 141
    Points
    1 141
    Par défaut
    Bonjour,

    A minima, il manque un espace après le nom de l'exécutable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lancement = Shell("""C:\Program Files\Dassault Systemes\B19\win_b64\code\bin\CATSTART.exe """ & NomFichier, 1)
    N'ayant pas Catia, je ne peux malheureusement tester votre code.

    La meilleure façon de procéder pour comprendre d'où vient l'erreur reste souvent de tester votre commande directement en interactif, dans l'application cmd.exe.

    Cdt

    Pour ouvrir un fichier avec Word, vous pouvez utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell """C:\Program Files\Microsoft Office\Office\winword.exe"" """ & strFichier & """", vbNormalFocus
    Cette commande fonctionne même si strFichier contient des espaces.

    Cdt

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Hm...
    J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lancement = Shell("""C:\Program Files\Microsoft Office\Office\winword.exe"" "" C:\Documents and Settings\mclozel\Desktop\unFichierWord """, 1)
    et ça n'ouvre pas (j'ai essayé avec les extensions .doc et .docx)

    (Mais je ne sais pas si le .exe de Word est vraiment là, c'est le PC de boulot, et le disque C est caché, bien que j'arrive à contourner ça en tapant l'adresse dans la barre. Donc il y a bien un dossier Office, et donc je suppose que c'est là, mais on ne sait jamais)

    D'où peut venir le problème?

    (Merci de la rapidité de réponse en tout cas!)


    ~ un peu plus tard ~
    Je confirme, je ne trouve pas le .exe de Word avec l'invité de commande,
    alors que celui de CATIA est bien là où je le cherche.

    Le problème doit venir de plus haut dans mon programme. Merci quand même!

    Back already!

    J'ai arrangé mon programme, il ouvre mon logiciel, mais pas le fichier

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 355
    Points
    34 355
    Par défaut
    salut,

    le second paramètre de la fonction shell doit être le chemin du fichier, OUI, mais avec l'extension

  5. #5
    Invité
    Invité(e)
    Par défaut
    bonjour,
    les espaces sous dos, car shell exécute de commande dos, sépare les instruction:
    nopad.exe monfichier.txt
    nopad.exe monfichier.txt. c:\Mon répertoire\monfichier.txt
    dos n'y comprends rien ces pour cette raison qu'il faut encadrer chaque expression.
    le problème, encore un, c'est que l'on si embrouille avec les ", "", """"....
    voilà comment je procède:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MaCommande="NotePad.exe"
    MonFichier="c:\Mon répertoire\monfichier.txt"
    Shell Chr(34) & MaCommande & Chr(34) & " " & Chr(34) & MonFichier & Chr(34)

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    J'avais bien mis l'extension... mais pas le chemin entier
    J'avais trouvé mon erreur mais j'espérais que quelqu'un m'explique les espaces
    Maintenant que c'est fait, grand merci tout le monde!

    C'est résolu!

    (après, Catia est très chiant(e), et j'arrive pas à ouvrir le fichier directement, alors qu'avec Pro-Engineer, pas de problème... Donc au moins c'est pas la faute à mon code! nah!)

    A Bientôt pour de nouvelles aventures!

    Never Give Up, Never Surrender!

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

Discussions similaires

  1. [MySQL] renommer table avec espace dans nom
    Par tallent_e dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/11/2011, 10h23
  2. [SimpleXML] Balises avec espace de noms
    Par KiteAtao dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 25/07/2010, 18h03
  3. [XSD] Problème de validation avec espace de noms
    Par tchize_ dans le forum Valider
    Réponses: 16
    Dernier message: 09/06/2009, 13h24
  4. [c#][xml] requete xpath sur document xml avec espace de noms
    Par fab56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/02/2009, 11h56
  5. Un script shell avec nombre d'argument variable
    Par lastrecrue dans le forum Linux
    Réponses: 1
    Dernier message: 28/05/2006, 11h35

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