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

VBScript Discussion :

VBS, Excel, ActiveSheet.QueryTables.Add


Sujet :

VBScript

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Par défaut VBS, Excel, ActiveSheet.QueryTables.Add
    Bonjour à tous,

    je cherche à adapter un module VBA que j'ai codé dans Excel pour l'externaliser dans un script VBS. J'ai un souci que je n'arrive pas à résoudre malgré pas mal de recherches sur le web.

    Mon script permet d'importer plusieurs fichiers *.TXT dans Excel, par la commande ActiveSheet.QueryTables.Add. J'ai beau l'adapter pour VBS, lors du lancement du script windows me renvoie "il manque une parenthèse fermante". Or ce code marche bien, lorsqu'il est exécuté sous forme de module VBA dans Excel. Je n'y comprends rien

    Voici les portions de code VBS correspondant :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    ' 
    Dim xlApp
    Dim xlBook
     
    Set xlApp = CreateObject("Excel.Application") 
    Set xlBook = xlApp.Workbooks.Add
     
    Dim sheetName 'nom de l'onglet où sont importés les fichiers
    Dim path 'chemin du répertoire où se trouve le fichier à importer
    Dim nbFiles 'nombre de fichiers à importer
    Dim fileToOpen 'chemin complet du fichier à ouvrir
     
    Dim counter 'compteur
     
    xlApp.Sheets("Feuil1").Select
    xlApp.Range("A1").Select
     
    'on entre les informations concernant le dossier et le nombre de fichiers à importer
    Set oShell = CreateObject("Shell.Application")
    Set oFolder = oShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&, "F:\Data\")
    path = oFolder.ParentFolder.ParseName(oFolder.Title).path
    nbFiles = xlApp.InputBox("Saisissez le nombre de fichiers à importer :", "Nombre de fichiers", , , , , , 2)
     
    counter = 1
    For counter = 1 To nbFiles 'tant que l'on rentre des fichiers, pour chaque fichier rentré
    'on construit le chemin du fichier à importer
        fileToOpen = path & "\savedrecs(" & counter & ").txt"
    'on importe le fichier à partir de la cellule active
    With xlApp.ActiveSheet.QueryTables.Add(Connection:="TEXT;" & fileToOpen, Destination:=xlApp.ActiveCell)
             .name = "leNomduFichier"
    Merci pour votre aide, elle sera très appréciée !!

    W.

  2. #2
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Par défaut
    J'ai finalement trouvé la réponse sur ce fil. Evidemment cela se situait du côté des différences entre VBS et VBA...
    Il faut mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set xlSheet=xlApp.ActiveWorkbook.Worksheets(1)
    With xlSheet.QueryTables.Add("TEXT;" & fileToOpen, xlSheet.ActiveCell)
    sans oublier de libérer xlSheet à la fin :
    Voilà, au cas où cela pourrait aider quelqu'un d'autre !

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

Discussions similaires

  1. [XL-2007] ActiveSheet.QueryTables feuille Excel
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 17/12/2010, 11h25
  2. Importer données avec la commande With ActiveSheet.QueryTables.Add
    Par hbc87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2010, 05h14
  3. VBS/Excel Utiliser le paramétre After
    Par Arno06000 dans le forum VBScript
    Réponses: 5
    Dernier message: 22/04/2008, 18h59
  4. VBS/Excel Insertion de données texte
    Par Arno06000 dans le forum VBScript
    Réponses: 1
    Dernier message: 19/04/2008, 07h53
  5. Réponses: 1
    Dernier message: 14/02/2008, 12h15

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