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] Tri Excel basique


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut [VBS] Tri Excel basique
    Bonjour,

    Je tourne en rond sur un pauvre script vbs (en meme temps, je débute ^^) et la je ne comprends plus rien.

    En fait, j'exporte une liste d'un fichier texte vers un fichier Excel (la sa marche) puis je veux faire un simple tri, mais la sa plantouille.

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    Option Explicit
     
    ' Creation du lien pour lancer Excel
    Dim objExcel
    Set objExcel = CreateObject("Excel.Application")
     
    ' Creation du lien pour accès Système
    Dim objFso
    Set objFso = CreateObject("Scripting.FileSystemObject")
     
    ' Recup argument
    Dim argu0,argu1
    argu0 = wscript.arguments(0)
    argu1 = wscript.arguments(1)
     
    ' Ouverture du fichier txt
    Dim FileRead, FileLine
    Set FileRead = objFso.OpenTextFile(argu0, 1)
     
    ' Création du fichier Excel
    objExcel.DisplayAlerts = False
    objExcel.workbooks.Add
     
    objExcel.Cells(1, 1).formula = "Drivers Imprimante"
     
    Dim Compteur
    Compteur = 3
     
    ' Ecriture du fichier txt dans la 1er colonne du fichier Excel
    Do While FileRead.AtEndOfStream <> True
    objExcel.Cells(Compteur, 1).formula = FileRead.readline
    Compteur = Compteur + 1
    Loop
    FileRead.close
     
    ' Tri classique
    Range("A3:A28").Select
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending
     
    ' Sauvegarde du fichier et sortie d'Excel
    objExcel.ActiveWorkbook.SaveAs argu1
    objExcel.ActiveWorkbook.Close
    objExcel.Application.Quit
    Voila tout le programme, mais à chaque fois que je l'execute, j'ai l'erreur :
    mis_frm1.vbs(38, 21) Microsoft VBScript compilation error: Expected statement

    Si quelqu'un pouvait m'expliqer la couille, je lui en serais reconnaissant.
    (je sais meme pas si c'est la sélection des cellules ou la commande de tri qui pose problème)

    Merci d'avance

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    on ne peu pas recopier tel quel le code VBA venant d'excel vers ton script... il faut le "prefixer.."
    essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    With objExcel.ActiveWorkbook.Worksheets(1)
     .Range("A3:A28").Sort Key1:=.Range("A1"), Order1:=xlAscending
    end with

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    Non j'ai essayé ca marche pas mieux.

    J'ai beau cherché sur plusieurs forums, je ne trouve pas ma solution.
    J'ai modifié de la sorte la partie du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim objSheet
    Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)
    objSheet.Range("A3:A28").Select
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending
    Si je vire la dernière ligne, l'éxecution se passe normalement et en ouvrant mon fichier excel, j'ai bien les cellules de A3 a A28 séléctionnées, mais dès que je remet la dernière ligne, l'erreur ressurgit :
    mis_frm1.vbs(40, 21) Microsoft VBScript compilation error: Expected statement

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    sans utilser les paramétres nommées : ( je sais plus si on y as droit en VBS à ces fameux paramétres nommés..)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objSheet.Range("A3:A28").Sort objSheet.range("A3"),1

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    Génial, ca marche.

    Par contre, je comprends pas trop, car j'ai du essayer un nombre de variante de cette syntaxe un nombre de fois incalculable....

    Mais bon osef, ca marche !!!
    Merci pour tout. Je reprendrais la meme cremerie la prochaine fois

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par Bruniche
    Génial, ca marche.

    Par contre, je comprends pas trop, car j'ai du essayer un nombre de variante de cette syntaxe un nombre de fois incalculable....

    Mais bon osef, ca marche !!!
    Merci pour tout. Je reprendrais la meme cremerie la prochaine fois
    lorqu'on sort de cette crémerie on ferme pas la porte mais il y as un bouton a actionner en bas de l'écran

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

Discussions similaires

  1. Tri Excel + masquer redondance
    Par Phenx dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 01/07/2021, 10h48
  2. Fonction Tri Excel VBA
    Par Nako_lito dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/08/2009, 16h15
  3. Odre de tri - Excel
    Par Rifton007 dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/05/2009, 18h41
  4. tri excel "instruction attendue" 800a0400
    Par ghostvb dans le forum VBScript
    Réponses: 5
    Dernier message: 03/08/2008, 14h29
  5. export resultat script vbs vers excel
    Par ghostvb dans le forum VBScript
    Réponses: 2
    Dernier message: 27/06/2008, 11h53

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