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 :

Caracteres speciaux VBA awk


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juin 2017
    Messages : 5
    Par défaut Caracteres speciaux VBA awk
    Je voudrais lancer la commande
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    ls -l | awk '$6>= "7" && $6<= "9" && $7="06" && $8>= "14:00" {printf "%s\n",$9}'
    via une macro VBA

    j'ai fais le module suivante:

    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
    Sub LancerCommandeUnix()
      Dim Login, mot_de_passe, Commande, serveur, ligne As String
     
    Login = "admin"
    Mdp = "dmin"
    serveur = "172.29.000.000"
     
    pi6 = """7"""
    ps6 = """9"""
    p7 = """06"""
    p8 = """14:00"""
    fo = """%s\n"""
     
     Commande = "ls -l | awk '$6>= " & pi6 & " && $7= " & p7 & "&& $8 >= " & p8 & " {printf " & fo & " $8}   ' > Export_File.dat"
     
     MsgBox (Commande)
     
     
    ligne = "D:\software\plink.exe -l " & Login & " -pw " & Mdp & " " & serveur & " " & Commande
    Call Shell(ligne, 0)
     
    End Sub
    Malheureusement il génère un fichier vide à cause des caractères spéciaux ( % et : ) présent dans la commande

    quelqu'un aurait une idée??

    merci

  2. #2
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,

    Es tu sur Mac ou sur PC ? Et quel est la version d'Excel ?

    Edit : Concernant le Mac pour utiliser le terminal (shell) en passant par vba, il faut utiliser :

    - Pour Excel 2011 : la commande VBA MacScript (utilisation d'AppleScript) qui par le biais d'un code AS avec la commande do shell script permettra d'effectuer des commandes du shell

    - Pour Excel 2016 : avec les restriction de la SandBox d'Apple, la méthode diffère et nous fais passer par la commande VBA AppleScriptTask, il y a certaine chose à mettre en place avant de l'utiliser.
    Trop long à d'écrire pour l'instant (dès que je pourrais je ferais un post ou autre concernant ceci). Sinon en attendant voir ce site : https://www.rondebruin.nl/mac/applescripttask.htm

    Edit 2 : je suis aussi en train d'apprendre moi même à faire des scripts avec le terminal de OS X (à mon avis le principe est le même), mais avant de l'utiliser en vba je m'assure :
    1 - que mon script fonctionne avec le terminal de OS X (Pour Windows l'invite de commande)
    2 - si j'ai quelques difficultés avec mon script, écrire dans le forum dédié
    3 - quand le script est OK (sur Mac), le testé dans AppleScript afin de vérifier que le code AS + le Shell fonctionne correctement
    4 - Quand tout cela est OK on peut faire l'intégration dans le code VBA

    Voilà
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juin 2017
    Messages : 5
    Par défaut
    Je travaille sur Pc Windows 10. Excel 2016

  4. #4
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Re,

    - la 1ère chose à faire si ce n'est pas déjà fait, c'est de vérifier le script dans l'invite des commandes …

    - si le script ne marche pas ou n'est pas le résultat escompté, régler le problème avec le forum dédié

    - si le script marche correctement sans erreurs dans l'invite de commande on peut le porter alors en vba
    et là aussi il faut faire attention à l'écriture du script dans vba avec l'intégration des doubles quotes (voir même peut être single quote, un expert avisé pourra nous le dire)
    les doubles quotes dont l'écriture est plus aisé en vba avec Chr(34) (comme sur Mac d'ailleurs)
    un exemple dans cette discussion : https://www.developpez.net/forums/d1...onction-shell/
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/10/2006, 15h59
  2. [sgbd] perl, oracle et caracteres speciaux
    Par fsapet dans le forum SGBD
    Réponses: 2
    Dernier message: 07/09/2004, 11h22
  3. [Débutant][String] Remplacez les caractères speciaux
    Par paf15 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/04/2004, 22h39
  4. [langage] Caractères spéciaux
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 28/11/2003, 10h39
  5. insertion caracteres speciaux html
    Par arcane dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/09/2003, 14h16

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