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

Excel Discussion :

Lire des fichiers et remplacer une variable


Sujet :

Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut Lire des fichiers et remplacer une variable
    Bonjour le forum !
    Alors je suis fasse à un problème et je ne sais pas si mon problème peut être résolu via excel, je vous le présente :
    Je possède un fichier excel avec une colonne contenant 10 mots : jean, pierre, martin etc
    Je possède 10 fichiers texte 1.txt, 2.txt, 3.txt etc qui contiennent tous à l'intérieur la variable "[nom]".
    je voudrais via une macro je suppose, que excel ouvre mon fichier 1.txt et remplace [nom] par le premier mot de la colonne ( jean ) puis il ouvre le deuxième fichier 2.txt et remplace la variable par le deuxième mot de la colonne ( pierre) etc..
    Pensez vous que cela soit possible ? et si oui comment ? :-)

    Merci de vos retours !

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    As-tu essayé de faire ça par publipostage dans Word ?
    Parce que ce que tu décris ressemble beaucoup à du publipostage.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Quelle est la structure de tes fichiers texte ? La variable (ce que tu nommes "variable" est je suppose une chaîne de texte contenant "[nom] ?) a-t-elle un emplacement défini dans ces fichiers ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Merci de vos réponses !
    Alors je ne connais pas le publipostage mais je vais me renseigner dessus voir si cela peut faire le job.
    Ensuite ma variable [nom] correspond à une chaine de caractère avec un emplacement aléatoire dans le fichier texte qui ressemble à cela :
    Bonjour je suis [nom], je travaille en mathématique etc ....

  5. #5
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Essaie la macro suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test1()
      Dim Chemin As String, Variable As String, Fichiers As Variant, I As Integer, Plage As Range
      Chemin = "C:\Users\dcola\OneDrive\mpfe"
      Variable = "toto"
      Set Plage = Range("A1")
      Fichiers = Array("test1.txt", "test1.txt", "test1.txt", "test1.txt", "test1.txt", _
        "test1.txt", "test1.txt", "test1.txt", "test1.txt", "test1.txt")
      For I = 0 To 9
        Workbooks.OpenText Chemin & "\" & Fichiers(I), DataType:=xlDelimited, Tab:=True
        Cells.Replace Variable, Plage.Offset(I).Value
        ActiveWorkbook.Close True
      Next I
    End Sub
    Il faut que tu remplaces le dossier de la variable "Chemin" et la valeur à remplacer dans "Variable". Renseigne aussi le nom de tes fichiers dans la variable "Fichiers".
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Je me suis renseigner sur le publipostage sous word mais visiblement cela fonctionne si le fichier possède la meme structure ? ce qui n'est pas mon cas :-(
    Je vais essayer la macro excel je vous tiens au courant !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Ok cela fonctionne avec la macro grand merci !!
    Par contre j'obtiens à la fin : erreur d"execution 9 l'indice n'appartient pas à la sélection , mais la variable est bien remplacée quand meme dans les fichiers.
    Par contre cela ne marche pas si l'extension est en . php ou .html :-(
    exemple avec du code html : il me modifie le code qui était bon par : "<img alt=""alt"" border=""1"" src=""img/img.jpg"" align=""right"">"

Discussions similaires

  1. Trier des fichiers à partir d'une variable File[]
    Par spaukensen dans le forum Général Java
    Réponses: 4
    Dernier message: 27/09/2010, 16h43
  2. renommer des fichiers en rajoutant une variable
    Par kavdo34 dans le forum Linux
    Réponses: 4
    Dernier message: 30/03/2010, 10h41
  3. Réponses: 1
    Dernier message: 29/04/2008, 23h53
  4. Lire des fichiers à envoyer par une servlet
    Par loic911 dans le forum Langage
    Réponses: 1
    Dernier message: 30/04/2007, 16h31
  5. Réponses: 5
    Dernier message: 21/02/2007, 16h12

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