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 :

Suivie de numérotation avec script VBS


Sujet :

VBScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2020
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Suivie de numérotation avec script VBS
    Bonjour
    Je me lance dans la programmation avec vbs.
    J’aimerais faire un script pour faire un suivie de numérotation de lignes dans un fichier txt.
    Exemple :
    ABC4822
    ABC4823
    ABC4824
    ABC4825
    Je ne sais pas comment commencer, si je dois enlever les 3 premiers caractères ou si je peux faire ma comparaison directement sans modifier ma chaîne de caractère afin de voir si n’y a pas de saut de numérotation.
    Merci
    Cordialement

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Salut

    Je te propose une approche qui te permettrait de conserver le formatage de numérotation comme tu l'as décrit, voici le code
    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
    Dim CtnFichier
    CtnFichier = "ABC4822" & vbNewLine & "XYZ4823" & vbNewLine & "RT4825" & vbNewLine & "LM4826HGF"
     
    Dim TblCtnFichier
    TblCtnFichier = Split(CtnFichier,vbNewLine)
     
    Dim NumDeb
    For T = 1 to Ubound(TblCtnFichier)
            NumDeb = RecupValeur(TblCtnFichier(T-1))
            If NumDeb + 1 <> RecupValeur(TblCtnFichier(T)) Then
                  Msgbox "Avant dernier N° = " & RecupValeur(TblCtnFichier(T-1)) & _
                    vbNewLine & _
                    "N° suivant = " & RecupValeur(TblCtnFichier(T))
            End If
    Next
     
    Function RecupValeur(Mot)
            Dim RegularExpressioN, ResulT, Match
    	Set RegularExpressioN = New RegExp
    	RegularExpressioN.Pattern = "([0-9]+)"
            Set ResulT = RegularExpressioN.Execute(Mot)
    	Set Match = ResulT(0)
            RecupValeur = Cint(Match.SubMatches(0))
    	Set Match = Nothing
    	Set RegularExpressioN = Nothing
    End Function
    CtnFichier et la simulation du fichier que tu veux vérifier, la fonction RecupValeur(Mot) récupère la partie chiffre, quelle que soit les caratères qui l'a compose, la boucle For ... Next vérifie s'il n’y a pas de saut de numérotation.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2020
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    MERCI,
    je vais tester ce script, cela me donne une bonne base merci

  4. #4
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2020
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    merci la fonction récupvaleur fonctionne très bien.
    cela fonctionne correctement, par contre j'ai un souci pour remplir mon tableau "TblCtnFichier" a partir de mon fichier txt.
    j'ai essayer de le remplir en lisant ligne par ligne avec une boucle sur mon fichier txt mais cela bug.

    une solution a me proposer?

    merci

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 171
    Points
    17 171
    Par défaut
    Re

    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
    Function RecupFichier(CheminNomDuFIchier)
    	Dim oFso, f
    	Set oFso = CreateObject("Scripting.FileSystemObject")
    	 'Ouverture et lecture et découpe par ligne du fichier
    	Set f = oFso.OpenTextFile(CheminNomDuFIchier, 1)
            'recuperation d'un tableau de x lignes
            RecupFichier = split(f.ReadAll,vbnewline)
            f.close
            set f = nothing
            set oFso = nothing
    End Function
     
    Function RecupValeur(Mot)
            Dim RegularExpressioN, ResulT, Match
    	Set RegularExpressioN = New RegExp
    	RegularExpressioN.Pattern = "([0-9]+)"
            Set ResulT = RegularExpressioN.Execute(Mot)
    	Set Match = ResulT(0)
            RecupValeur = Cint(Match.SubMatches(0))
    	Set Match = Nothing
    	Set RegularExpressioN = Nothing
    End Function
     
     
    Dim TblCtnFichier
    TblCtnFichier = RecupFichier("C:\MesProgs\En VBScript et HTA\Lire fichier sortie tableau de lignes\Data.txt")
    Dim NumDeb
    For T = 1 to Ubound(TblCtnFichier)
            NumDeb = RecupValeur(TblCtnFichier(T-1))
            If NumDeb + 1 <> RecupValeur(TblCtnFichier(T)) Then
                  Msgbox "Avant dernier N° = " & RecupValeur(TblCtnFichier(T-1)) & _
                    vbNewLine & _
                    "N° suivant = " & RecupValeur(TblCtnFichier(T))
            End If
    Next
    le contenu du fichier Data.txt
    ABC4822, la première ligne avec un chiffre à la fin 1 fois
    ABD4823 2éme ligne
    ABC4825XYZ une autre 3éme ligne ce terminant par un chiffre 13
    4826N° la petite dernière
    il est impératif que le premier chiffre rencontré dans chaque lignes, soit le chiffre à vérifier
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Mars 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2020
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    ok merci, je ne repassais mes lignes récupérées en tableau avec le split.

    un grand merci pour le script et la rapidité.

    cordialement

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

Discussions similaires

  1. Erreur script VBS avec les "dossiers virtuels" Vista
    Par Aquafresh dans le forum Windows Vista
    Réponses: 2
    Dernier message: 04/10/2007, 18h08
  2. Script vbs ne pas ouvrir avec le Bloc-notes
    Par Noxilus dans le forum VBScript
    Réponses: 1
    Dernier message: 13/04/2007, 09h06
  3. Executer script VBS avec requette http
    Par kevain_09 dans le forum VBScript
    Réponses: 1
    Dernier message: 30/09/2006, 21h33
  4. Imprimer un fichier texte avec un script vbs
    Par Persons dans le forum Windows
    Réponses: 3
    Dernier message: 23/12/2004, 16h47

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