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 :

Comment copier les données d'un fichier en lecture


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3
    Par défaut Comment copier les données d'un fichier en lecture
    J'ai créé une macro dans un fichier excel (appelé résultat.xls)
    Avant de démarrer la macro dans "résultat.xls", il faut récupérer les données sortant d'une application industrielle au format excel. Ces données dont dans un fichier en lecture.
    Le nom de ce fichier n'est jamais le même, mais suit la règle suivante: code alphanumérique à 6 chiffres_XAQ_code numérique à 8 chiffres
    (exemple:ABC123_XAQ_00011008--> contient toujours les 3 mêmes lettres XAQ)
    Aujourd'hui je copie manuellement les données du fichier *XAQ* en lecture vers mon fichier "résultat.xls".
    Je souhaite copier les données de ce fichier *XAQ* en lecture via une macro vers mon fichier "résultat.xls", en évitant si possible une étape intermédiaire: l'enregistrement du fichier *XAQ*.
    En effet, le fichier *XAQ* est généré par différents utilisateurs et je crains que tous ne l'enregistrent pas sous le même nom.

  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 heu!!
    bonjour



    ca risque d'etre dur si le fichier est enregistré différement par plusieurs utilisateurs tu risque de te retrouver avec plusieurs fichiers
    donc difficile de savoir le bon


    il faudrait dabors que l'enregistrement soit toujour identique meme par des utilisateur differents

    apres le reste serai facile


    au plaisir
    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 éprouvé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    Bonjour isa77, Bonjour patricktoulon,

    Ou alors il faut savoir comment déterminer à coup sûr par la macro le nom du fichier à traiter. S'agit-il du seul fichier *XAQ* dans un dossier particulier ?

  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
    rebonjour


    oui il y a des solution pour ca aussi


    par les api on pourais acceder au propriété des fichiers et ne choisir que celui qui a la plus recente mise a jour


    mais enfin la on specule .je n'ai pas encore vu le code originale

    donc on va atendre le code qui enregistre le fichier en question
    en partant de la on poura faire le chemin en arriere

    au plaisir
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3
    Par défaut
    Bonjour,

    merci pour les réponses.
    En fait je n'ai pas encore écrit le code pour enregistrer et pour copier les donnés vers mon fichier "résultat.xls".
    Il faudrait donc que je crée une macro pour enregistrer le fichier toujours au même endroit et avec le même nom.
    L'idéal, c'est d'enregistrer le fichier dans "mes documents". Le souci que je rencontre c'est que le chemin vers mes documents dépend de l'Id de l'utilisateur et a la structure:

    C:\Documents and Settings\abc123\Mes documents

    où l'Id de l'utilisateur = abc123
    peut-on remplacer cet id par un code générique: exemple * ?

    Ensuite effectivement, cela est plus simple.

  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
    bonjour
    il serait temp de t y metre

    voila un exemple qui enregistre la feuille 1 dans un autre classeur qui s'appelera toto.xls dans les document de l'utilisateur de la session


    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
     
     
    Sub enregistrer_sous()
    Dim chemin As String
    Application.DisplayAlerts = False 'pour ne pas avoir a repondre oui
    Sheets("Feuil1").Copy'ici on copie la feuille
    'l'expression ""application.username"" donne le nom de l'utilisateur actuel
    'donc le chemin complet donnera ca
    chemin = "C:\Users\" & Application.UserName & "\Mes Documents\toto.xls"
     
    '"maintenant on enregistre sous"
     ActiveWorkbook.SaveAs Filename:=chemin, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
        ActiveWindow.Close' ici le classeur est fermer apres avoir été enregistré
    'donc le classeur d'origine reviens 
    End Sub

    voila qui te donne un bon debut


    au plaisir
    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

Discussions similaires

  1. comment copier les donnés d'une table vers un fichier exel
    Par 21247692 dans le forum Bases de données
    Réponses: 8
    Dernier message: 09/01/2009, 14h30
  2. Réponses: 12
    Dernier message: 09/06/2008, 17h54
  3. Réponses: 1
    Dernier message: 05/12/2006, 10h40
  4. [Excel] Comment afficher les données d'un fichier Excel (PHP)
    Par pierrot10 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/05/2006, 15h01
  5. [JTable] Comment récuperer les données d'un fichier texte ?
    Par Makunouchi dans le forum Composants
    Réponses: 2
    Dernier message: 03/05/2005, 16h37

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