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 :

tri excel "instruction attendue" 800a0400


Sujet :

VBScript

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 65
    Points : 44
    Points
    44
    Par défaut tri excel "instruction attendue" 800a0400
    Bonjour,

    Toujours débutant en vbscript, j'ai le souci suivant dont je ne comprends pas la signification puisque sur plusieurs discussions de forums, j'ai trouvé la même synthaxe, je m'explique :

    J'ai un script qui fonctionne et qui importe des données d'un fichier texte, le tout automatisé avec ouverture et fermeture du fichier xls.

    Je souhaite trier les données par ordre croissant à partir de la colonne B1.

    Voici le script :

    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
    	Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
    'Ouverture d'Excel
    	Dim waExcel: Set waExcel = CreateObject("Excel.Application")
    'Chemin d'accès du fichier
        	StrPath = "C:\"
    'Ajoute \ à la fin s'il y en a pas
        	If Right(StrPath, 1) <> "\" Then StrPath = StrPath & "\" 
    'Nom du fichier
        	StrFich = "ControleDisque.txt"
    'Existance du fichier 
        	If FSO.FileExists(StrPath & StrFich) Then
    'Rendre invisible Excel 
            waExcel.Visible = False 
    'Importe le fichier texte vers une feuille Excel avec délimiteur : Tabulation et Space
            waExcel.Workbooks.OpenText StrPath & StrFich, , , , , , True, , , True
    'Sélection de toutes les lignes de la feuille 1 
    	waExcel.Worksheets(1).Cells.Select
    'Tri par ordre croissant à partir de B1 
    	waExcel.Selection.Sort Key1:=WaExcel.Worksheets(1).Range("B1"), Order1:=xlAscending, Header:= _
            xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal 
    'Sauvegarde la feuiller importer vers le chemin d'accès de départ en motifiant l'extension et en mode partagé pour éviter des erreurs
           	waExcel.Application.DisplayAlerts = false
    	waExcel.Workbooks(StrFich).SaveAs StrPath & Left(StrFich, Len(StrFich) - 4) & ".xls", , , , , , 2, True 
    	End If
    'Fermeture d'Excel
        	waExcel.Application.Quit
    J' ai une erreur : ligne 19 caractère 30 "instruction attendue" que je ne comprends pas.

    Merci de m'apporter votre aide

  2. #2
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    B'soir


    Tu ne peu pas utiliser les "paramètres nommés" en vbScript essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WaExcel.Worksheets(1).Range ("B1"), xlAscending, xlGuess, 1, False, xlTopToBottom, xlSortNormal
    faudra peu être déclaré les constantes xlAscending,xlTopToBottom à 1 et xlSortNormal et xlGuess à 0 ..



  3. #3
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 65
    Points : 44
    Points
    44
    Par défaut
    Bonsoir et merci pour la réponse

    J'ai remplacé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    waExcel.Selection.Sort Key1:=WaExcel.Worksheets(1).Range("B1"), Order1:=xlAscending, Header:= _
            xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WaExcel.Worksheets(1).Range ("B1"), xlAscending, xlGuess, 1, False, xlTopToBottom, xlSortNormal
    et maintenant j'ai une autre erreur :

    ligne 19
    caractère 2
    Cet objet ne gère pas cette propriété ou cette méthode : 'Worksheets(...).Range'
    Code 800a01b6
    Erreur d'exécution Microsoft VBScript

    Merci pour votre aide

  4. #4
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    Oups...

    c'était juste les paramètres pour la fonction essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	xlAscending = 1
    	xlTopToBottom = 1
    	xlSortNormal = 0
    	xlGuess = 0
    	 WaExcel.Worksheets(1).Cells.Sort WaExcel.Worksheets(1).Range("B1"), xlAscending, , , , , , xlGuess, 1, False, xlTopToBottom, , xlSortNormal

  5. #5
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 65
    Points : 44
    Points
    44
    Par défaut
    C'est tout à fait ça, cela fonctionne impeccable

    Merci beaucoup






  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Ce n'est pas copier le bouton résolu dans ton message qu'il faut faire, mais bien cliquer dessus!
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

+ 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. fin d'instruction attendue(erreur 800A0400 ) en vbscript
    Par regisyves dans le forum VBScript
    Réponses: 4
    Dernier message: 06/06/2010, 22h55
  3. [VBS] Tri Excel basique
    Par Bruniche dans le forum VBScript
    Réponses: 6
    Dernier message: 24/07/2006, 14h48

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