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 :

Copier une valeur excel dans un fichier .txt [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Points : 99
    Points
    99
    Par défaut Copier une valeur excel dans un fichier .txt
    Bonjour,

    Je cherche comment Copier la valeur d'une combobox dans un même fichier .txt à la suite des valeurs déjà existante à chaque fois que je clic sur un bouton.

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton3_Click()
    'Chemin où est collé le fichier Excel
    cheminxls = ThisWorkbook.Path
    Combobox1.Value.Copy
    Dim Temp As String
    Temp = cheminxls & "\Liste Film.txt"
    End Sub

  2. #2
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour mentat,

    il faut ajouter la référence : Microsoft Scripting Runtime.

    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
    Sub Macro1()
    Dim oFSO As Scripting.FileSystemObject
    Dim oFl As Scripting.File
    Dim oTxt As Scripting.TextStream
    Dim fileName As String, texte1 As String, texte2 As String
    texte2 = Range("A1").Value ' valeur à ajouter au fichier.txt
    fileName = ThisWorkbook.Path & "\Liste Film.txt"
    Set oFSO = New Scripting.FileSystemObject
    Set oFl = oFSO.GetFile(fileName)
    'lire et fermer
    Set oTxt = oFl.OpenAsTextStream(ForReading)
    texte1 = oTxt.ReadAll
    oTxt.Close
    'écrire et fermer
    Set oTxt = oFl.OpenAsTextStream(ForWriting)
    oTxt.WriteLine texte1 & texte2
    oTxt.Close
    End Sub

    isabelle
    isabelle

    Merci de m'aider à votre tour en indiquant si le problème est résolu.
    faite un clic sur le bouton en bas à gauche de la page.
    http://club.developpez.com/regles/#L4.12

  3. #3
    Membre régulier Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Points : 99
    Points
    99
    Par défaut
    Bonjour et Merci pour ta réponse sabzzz

    J'ai testé ton code et j'ai une erreur de compilation qui apparait dès la première ligne:

    Type défini par l'utilisateur non défini
    Je suis en train de regarder comment fonctionne les objets, mais j'y comprend moyen.

    Il n'y aurait pas un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Merci

  4. #4
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut


    il faut ajouter la référence : Microsoft Scripting Runtime.

  5. #5
    Membre régulier Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Points : 99
    Points
    99
    Par défaut
    Bonjour Alex_38

    Ha je croyait que c'était un bout du programme de Sabzzz lol

    Ok alors j'ai été dans l'éditeur Vsual Basic (alt+F11), dans le menu 'outils - références et j'ai coché: Microsoft Scripting Runtime

    et enregistrer.

    Quelques Questions:

    - Si j'ouvre mon Fichier sur un autre PC, est-ce que "Microsoft Scripting Runtime" est activé? Si Non, puis-je forcé l'activation?

    - Le Code (Une fois Microsoft Scripting Runtime activé) fonctionne seulement si le fichier texte existe et n'est pas vide. Puis-je crée le fichier texte si il n'existe pas, le nommé et le remplir dès qu'il est vide à l'aide des objets?

    En tout cas Merci à tous les deux. Et excuse moi Sabzz mais je ne savais pas ce qu'était Microsoft Scripting Runtime.

  6. #6
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    un lien qui pourrait t'interesser ici


    - Si j'ouvre mon Fichier sur un autre PC, est-ce que "Microsoft Scripting Runtime" est activé? Si Non, puis-je forcé l'activation?
    Fait une recherche sur GUID, un exemple ici


    - Le Code (Une fois Microsoft Scripting Runtime activé) fonctionne seulement si le fichier texte existe et n'est pas vide. Puis-je crée le fichier texte si il n'existe pas, le nommé et le remplir dès qu'il est vide à l'aide des objets?
    oui, tu test s'il existe ou pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function ExisteFichier(nomfic As String) As Boolean
    ExisteFichier = (Dir(nomfic) <> "")
    End Function

  7. #7
    Membre régulier Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Points : 99
    Points
    99
    Par défaut
    C'est bon j'ai réussi mais du coup je n'est pas garder le script de Sabzzz.

    En cherchant les réponses à mes questions je suis tombé sur quelques topics de developpez et en mélangeant le tout j'ai réussi à faire mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro2()
    Open (ThisWorkbook.Path & "\Liste Film.txt") For Append As #1
    Print #1, UserForm1.Combobox1
    Close #1
    End Sub
    L'intérêt de ce code c'est que le trouve vraiment moins compliqué, qu'il crée mon fichier si il n'est pas présent et que je ne suis pas obligé d'activé "Microsoft Scripting Runtime", et enfin qu'il rempli le fichier même si il est vide.

    J'espère que vous ne m'en voulez pas...

    Merci à tout les deux se sont vos réponses qui ont pu me faire avancé dans mes recherches.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/11/2014, 11h12
  2. Copier une figure Matlab dans un fichier Excel
    Par chris05 dans le forum MATLAB
    Réponses: 7
    Dernier message: 10/06/2011, 15h30
  3. [XL-2007] Problème pour copier une tâche project dans un fichier Excel
    Par Miguel973 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/04/2011, 11h58
  4. Réponses: 1
    Dernier message: 23/09/2009, 10h35
  5. Ecrire une plage excel dans un fichier txt
    Par kuma_buzz dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/05/2008, 11h48

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