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

VB.NET Discussion :

Copier des lignes en remplacant le mot VARIABLE par l'item d'une listbox & boucler le tout


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur Mécanique
    Inscrit en
    Novembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur Mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2017
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Copier des lignes en remplacant le mot VARIABLE par l'item d'une listbox & boucler le tout
    Bonjour la communauté,

    Je cherche à faire la chose suivante :

    j'ai :
    a) 1 fichier .txt contenant des instructions
    b) une listbox contenant des items (nom de fichier)

    je veux:

    crée un fichier .txt qui reprend les instructions du fichier .txt a) en remplaçant le mot VARIABLE par un des ITEMS de la listbox b)
    et faire ceci ds le fichier créer autant de fois que j'ai d'items dans la listbox b)

    en .BAT j'ai cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for /f %%i in ('dir /b /o:s *.doc.*') do call :P1 %%i
    :P1
     
    ligne1 a recopier
    ligne2 a recopier
     
    set NOMFICHIER=%~1
    Pour le moment j'ai fait cela :

    Edit : correction du code

    Edit : Modification du titre

    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
     
     
     Private Sub Do_BClick(sender As Object, e As EventArgs) Handles Do_Batch.Click
     
            Dim ZSave As New SaveFileDialog
            Dim z As Integer
            Dim variable As String = "`VARIABLE`"
     
            ZSave.Title = "Chemin d'enregistrement du fichier *.txt"
            ZSave.FileName = ""
            ZSave.Filter = "Doc.txt(*.txt)|*.txt"
     
            If ZSave.ShowDialog = DialogResult.OK Then
     
             MessageBox.Show(ZSave.FileName, "My Application",
             MessageBoxButtons.OKCancel,
             MessageBoxIcon.Asterisk)
     
                Dim zs As New IO.StreamWriter(ZSave.FileName, True)
                Dim ctocopy As String = File.ReadAllText(SMacroFiledir)
     
                For z = 0 To ListBox1.Items.Count - 1
                    Dim varitems As String = ListBox1.Items.Item(z)
     
                    MessageBox.Show(varitems)
     
                    ctocopy = ctocopy.Replace(variable, " `" & varitems & "` ")
                        MessageBox.Show("IL Y A LE MOT" & variable & "A CHANGER")
                        zs.WriteLine(ctocopy)
     
                Next
     
                MessageBox.Show("JOB IS DONE")
                zs.Close()
     
            End If
     
        End Sub
    Il me fait la boucle sur les items de la listbox (8 fichier : fichier-01.txt ......fichier-08.txt)
    me recopie les lignes du fichier .txt des instructions
    me remplace ma variable par le 1er items de la listbox
    et me recopie cette séquence autant de fois qu'il y à d'items dans la listbox soit 8x
    Mais avec toujours le nom de mon 1er items (fichier-01.txt)

    Pourquoi ne défile t'il pas les items de la listbox ???
    si je lui demande de me les afficher avec une messagebox , elles défilent toutes pourtant !!

    I need Help

    SVP

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Mars 2011
    Messages : 105
    Points : 153
    Points
    153
    Par défaut
    Bonjour,

    Essai plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim varitems As String = ListBox1.Items(z)
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim varitems As String = ListBox1.Items.Item(z)

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur Mécanique
    Inscrit en
    Novembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur Mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2017
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci BALOUB

    Je viens d'essayer mais j'ai toujours le même problème.

    Le varitems change pas (fichier-01.txt)........(fichier-08.txt)

    J'ai une recopie de 8 occurrences mais toujours avec le 1er item.....alors que lors que je lui demande d'afficher via une messagebox,
    les items défilent.
    Aussi il réalise le remplacement du mot "VARIABLE" car j'ai le message pour chaque item!!!

    Je n'y comprends plus rien

    Cependant je vais suivre ton conseil car le code est moins redondant^^

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Mars 2011
    Messages : 105
    Points : 153
    Points
    153
    Par défaut
    Un truc que je ne pige pas :

    tu charges "ctocopy" hors de ta boucle.
    Donc dès ton premier "varitems" tous les "variable" dans "ctocopy" sont remplacés !

    Les varitems suivants sont sans effet.

Discussions similaires

  1. [AC-2010] Planifier lancement macro via .bat sur une base access verrouillée
    Par dadou5821 dans le forum Sécurité
    Réponses: 2
    Dernier message: 30/11/2015, 10h48
  2. Créer un projet VB6 (et pas VB.net)
    Par sigfrit dans le forum Visual Studio
    Réponses: 1
    Dernier message: 15/03/2009, 23h52
  3. Réponses: 2
    Dernier message: 26/11/2008, 20h01
  4. Projet ASP (et non ASP.Net) avec Visual Studio .NET 2003
    Par math1234 dans le forum Visual Studio
    Réponses: 1
    Dernier message: 07/05/2008, 15h45
  5. Compiler un projet d'Unix avec Visual .NET
    Par Captain_JS dans le forum MFC
    Réponses: 1
    Dernier message: 05/02/2006, 23h12

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