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

Macros et VBA Excel Discussion :

Insérer une ligne de texte dans un fichier texte


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    Mars 2018
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : Mars 2018
    Messages : 130
    Par défaut Insérer une ligne de texte dans un fichier texte
    bonjour,

    Je dispose d'un fichier texte (.txt) qui fait à peu près 50ko avec ceci à l'intérieur :

    livraison de utilisateur FF1
    livraison de utilisateur FF2
    livraison de utilisateur FF3
    livraison de utilisateur FF4
    livraison de utilisateur FF5
    livraison de utilisateur FF6
    etc ..
    jusqu'à 1200 lignes

    J'aimerai une macro qui m'insère ces 3 lignes ci-dessous à chaque fois qu'il trouve la phrase suivante : "livraison de utilisateur FF3"

    "commande validé
    passage en revue
    numéro -4546
    "

    et

    "commande non validé
    passage en revue
    numéro -4546
    "

    Lorsqu'il trouve la phrase suivante : "livraison de utilisateur FF6"

    Est-ce possible en VBA ? Merci.

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    teste ca et regarde le fichier resultat sur ton bureau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub hophop()
        Dim x As Integer, texte As String, i As Long
        x = FreeFile
        fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
        If fileToOpen = False Then Exit Sub
        Open fileToOpen For Input As #x
        texte = Replace(Input$(LOF(x), #x), "livraison de utilisateur FF3", "commande validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
        texte = Replace(Input$(LOF(x), #x), "livraison de utilisateur FF6", "commande non validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
        Close #x
        fichier = Environ("userprofile") & "\Desktop\resultat.txt"
        x = FreeFile: Open fichier For Output As #x: Print #x, texte: Close #x
    End Sub


    oupss!! autant pour moi j'avais oublié de remettre la ligne d'origine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub hophop()
        Dim x As Integer, texte As String, i As Long
        x = FreeFile
        fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
        If fileToOpen = False Then Exit Sub
        Open fileToOpen For Input As #x
        texte = Replace(Input$(LOF(x), #x), "livraison de utilisateur FF3", "livraison de utilisateur FF3" & vbCrLf & "commande validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
        texte = Replace(Input$(LOF(x), #x), "livraison de utilisateur FF6", "livraison de utilisateur FF6" & vbCrLf & "commande non validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
        Close #x
        fichier = Environ("userprofile") & "\Desktop\ttt.txt"
        x = FreeFile: Open fichier For Output As #x: Print #x, texte: Close #x
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre confirmé
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    Mars 2018
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : Mars 2018
    Messages : 130
    Par défaut
    Bonjour,

    Merci de ta réponse, petite question ?

    à quoi sert cette ligne d'instruction ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fichier = Environ("userprofile") & "\Desktop\ttt.txt"

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    teste ca tu va comprendre tout seul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox  Environ("userprofile") & "\Desktop\resultat.txt"
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre confirmé
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    Mars 2018
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : Mars 2018
    Messages : 130
    Par défaut
    Ah d'accord, dans mon programme j'en aurai pas forcément besoin mais c'est un bon moyen de vérifier le chemin de fichier en sortie en mode débogage.

    Cependant, j'ai encore une petite erreur dans la fonction Replace, en effet j'aimerai qu'il prenne en compte une variable que j'ai stocké auparavant : txt_num.Value ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     texte = Replace(Input$(LOF(test), #test), "livraison de utilisateur FF3", "livraison de utilisateur FF3 & txt_num.Value" & vbCrLf & "commande validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
    Avec cette ligne d'instruction j'obtiens ceci :

    livraison de utilisateur FF3 & txt_num.Value
    commande validé
    passage en revue
    numéro -4546

    Il ne m'intègre pas la valeurs txt_num.Value ? Y'a t-il un moyen de palier à ce problème ?

    Merci

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    texte = Replace(Input$(LOF(test), #test), "livraison de utilisateur FF3", "livraison de utilisateur FF3 "& txt_num.Value & vbCrLf & "commande validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. [Débutant] Vérifier si une ligne est vide dans un fichier texte avec bash
    Par david633 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 26/04/2017, 21h16
  2. Réponses: 3
    Dernier message: 25/07/2006, 08h40
  3. Serializer une ArrayList ou écrire dans un fichier texte?
    Par yvon_huynh dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 11/07/2006, 19h49
  4. [HTML] Insérer une ligne de tirets dans un select
    Par Poutchou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 10/03/2006, 12h30
  5. [langage] Sauter une ligne en ecrivant dans un fichier
    Par mickey02 dans le forum Langage
    Réponses: 3
    Dernier message: 17/03/2005, 18h02

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