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 :

erreur sur un GOTO en vbs


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 326
    Par défaut erreur sur un GOTO en vbs
    Bonjour mon code me retourne une erreur que j'arrive pas a supprimer sur la ligne 24 "GoTo FichierSuivant"

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    Option Explicit
     
    Dim fso, dossier, fichier, ligne, lignes, i
    Dim cheminDossier, colonnes, idxHeure, idxStatut, valeurHeure, valeurStatut
    Dim tsIn, tsOut, enTete
     
    cheminDossier = "C:\TEMP\"
     
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set dossier = fso.GetFolder(cheminDossier)
     
    For Each fichier In dossier.Files
     
        If LCase(fso.GetExtensionName(fichier.Name)) = "csv" Then
     
            ' Gérer les erreurs pour ce fichier uniquement
            On Error Resume Next
     
            Set tsIn = fso.OpenTextFile(fichier.Path, 1, False, -1)
            If Err.Number <> 0 Then
                WScript.Echo "Erreur ouverture : " & fichier.Name
                Err.Clear
                On Error GoTo 0
                GoTo FichierSuivant
            End If
     
            On Error GoTo 0 ' Réactiver les erreurs
     
            If Not tsIn.AtEndOfStream Then
                enTete = tsIn.ReadLine
                colonnes = Split(enTete, ",")
                idxHeure = -1
                idxStatut = -1
     
                For i = 0 To UBound(colonnes)
                    If Trim(colonnes(i)) = "Heures" Then idxHeure = i
                    If Trim(colonnes(i)) = "Statut d’approbation" Then idxStatut = i
                Next
     
                If idxHeure = -1 Or idxStatut = -1 Then
                    WScript.Echo "Colonnes manquantes dans : " & fichier.Name
                    tsIn.Close
                    GoTo FichierSuivant
                End If
     
                lignes = Array()
                ReDim Preserve lignes(0)
                lignes(0) = enTete
     
                Do Until tsIn.AtEndOfStream
                    ligne = tsIn.ReadLine
                    If Trim(ligne) <> "" Then
                        Dim champs
                        champs = Split(ligne, ",")
                        If UBound(champs) >= idxStatut Then
                            valeurHeure = Trim(champs(idxHeure))
                            valeurStatut = Trim(champs(idxStatut))
                            If valeurHeure <> "" And valeurHeure <> "0" Then
                                If valeurStatut = "Approuvé" Then
                                    ReDim Preserve lignes(UBound(lignes) + 1)
                                    lignes(UBound(lignes)) = ligne
                                End If
                            End If
                        End If
                    End If
                Loop
            End If
     
            tsIn.Close
     
            ' Écriture sécurisée
            On Error Resume Next
            Set tsOut = fso.CreateTextFile(cheminDossier & "filtré_" & fichier.Name, True, True)
            If Err.Number <> 0 Then
                WScript.Echo "Erreur écriture : " & fichier.Name
                Err.Clear
                On Error GoTo 0
                GoTo FichierSuivant
            End If
            On Error GoTo 0
     
            For i = 0 To UBound(lignes)
                tsOut.WriteLine lignes(i)
            Next
            tsOut.Close
     
            WScript.Echo "Fichier filtré : " & fichier.Name
     
        End If
     
    FichierSuivant:
    Next
     
    WScript.Echo "Traitement terminé."

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 545
    Par défaut
    et que dit le message d'erreur ?

    Après une recherche rapide, il n'y a pas de Goto en VBscript (sauf dans le cadre de On Error (https://stackoverflow.com/questions/...cted-statement)
    Donc il faudrait "inverser" tes conditions et tests de manière à poursuivre le programme si les bonnes conditions sont remplies (ou si les mauvaises conditions ne sont pas remplis)

Discussions similaires

  1. [XL-2007] Ma gestion des erreurs "On Error GoTo- -" ne fonctionne plus sur mon PC
    Par Yuoli dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/04/2020, 09h18
  2. Erreur sur un End Sub script vbs
    Par lebonsavane dans le forum VBScript
    Réponses: 2
    Dernier message: 20/05/2019, 14h03
  3. erreur sur Application.Goto Reference:= "refString"
    Par philoeil dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/05/2012, 12h01
  4. [VBS] Erreur sur "AddWindowsPrinterConnection"
    Par Admin dans le forum VBScript
    Réponses: 5
    Dernier message: 27/03/2004, 16h15
  5. Erreur sur le TNSListener après installation de 9iAS
    Par Patmane dans le forum Installation
    Réponses: 4
    Dernier message: 04/02/2004, 11h16

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