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 :

automatisation de traitement de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 74
    Points : 21
    Points
    21
    Par défaut automatisation de traitement de données
    j'ai un petit problème à propos d'un sujet que l'on m'a confié, je m'explique.
    il m'a été demandé de réaliser un fichier à partir d'un ensemble de données concernant des arrets de machine.
    Ces données me sont fourni sous format CSO donc le travail a réaliser est de les transformer sous excel, les trier en les classant par catégorie ex: durée de l'arret, heure de départ de l'arret, heure de fin,type d'arret, secteur ... pour ensuite les mettre sous forme de tableau croisé dynamique afin d'en tirer 2 graphiques, le premier reprenant les causes d'arret les plus récurantes et le deuxième reprenant les causes d'arret qui dure le plus longtemps. c'est données sont collecté tous les matin via clé usb. il faudrait donc aussi que dès l'ajout de nouvelle donnée le traitement se fasse automatiquement via un bouton ou autre.
    Voilà en gros l'étendue du problème je sais ce que je voudrais faire mais je n'est pas la méthode merci de me faire profité de vos expériences
    Salutation

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Déjà des questions :
    Les données collectées sur la clé USB sont sous quel format ?
    Le format CSO est-il un format texte ?
    Le fichier peut-il être ouvert depuis Excel ?
    La prise USB sur laquelle tu places la clé est-elle toujours la même ?
    Le fichier qui les contient porte-t-il toujours le même nom ?
    Enfin, à quel niveau veux-tu automatiser le traitement ?
    Réponds déjà à ces quelques questions
    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 74
    Points : 21
    Points
    21
    Par défaut réponse
    oui les données sont sous forme de texte
    oui le fichier peut étre ouvert depuis excel
    non la clé usb sur laquelle les données sont placé n' est pas toujours la même mais je peut peu être m'arranger pour qu'elle le soit
    oui le fichier porte toujours le même nom
    je voudrais que le changement de format (cso/excel), le tri des données, les graphiques se fasse automatiquement.
    A savoir que pour le traitement des données l'ajout des données se fera tout les matin pour celle de la veille et aussi le traitement des données devront pouvoir être déterminer par plage horaire et journalière.ex: du lundi 20 aout de 5h au jeudi 23 aout à 8h
    merci je suis a votre disposition pour toutes autres question si vous voulez je peux vous envoyer le fichier que j'ai commencé à créer se sera peu être plus explicite

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    On a donc un fichier texte, dont le nom ne change pas, qui conserve la même structure, qui peut s'ouvrir avec Excel, et qui se trouve dans une clé USB qui peut être placée dans une prise toujours la même.

    Il reste néanmoins deux questions :
    - Comment adaptes-tu manuellement le format cso/excel ?
    - Quelle est la structure des données une fois le fichier ouvert sous Excel ? Répartition des données par colonnes ? Chronologie des événements en lignes ?
    A+

    Edit
    Il serait bien que tu nous donnes un bout de l'un de ces fichiers.cso

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 74
    Points : 21
    Points
    21
    Par défaut
    Enfaite je transfert le fichier cso dans un dossier du disque dur de mon pc ensuite je l'ouvre toujours en cso via excel et ensuite je l'enregistre en format excel.
    Toutes les données sont dans une seul colonne et chaque type de données est séparé par un point virgule donc via convertir je sépare les données pour que chaque type soit dans une colonne et oui les événements sont classé chronologiquement.
    merci

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Un fichier dont les données sont séparées par des points-virgules est un csv. Tu peux donc l'ouvrir directement après l'avoir renommé.
    Un pb de réglé.
    Tu peux déjà tester ça en adaptant le chemin et le nom de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        'On renomme le fichier .cso en .txt
        Name "D:\xls\FichierCSO.cso" As "D:\xls\FichierCSO.txt"
        'ouverture du fichier
        Workbooks.OpenText Filename:="D:\xls\FichierCSO.txt", _
                  DataType:=xlDelimited, Other:=True, _
                  Semicolon:=True, Tab:=False
        'Remplacement des espaces dont le code ascii est <> 32
        Cells.Select
        Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows
    Tes fichiers ont-ils un en-tête ?

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 74
    Points : 21
    Points
    21
    Par défaut
    non il n'ont pas d'entéte il faudrait pouvoir la créer une foi pour toute et ajouter à la suite chaque mise à jour

    pour taper le code il faut que le fichier soit en version originale ou faut-il que je change quelque chose au préalable. désolé cela est peu être une question bète mais je suis novice dans ce domaine

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu ouvre un classeur Excel normal, tu insères un module dans le projet VBA -> Outils -> Macro -> Visual basic editor -> Insérer Module
    Dans la fenêtre du module tu donne un nom à ta macro (Sub OuvrirCso() par exemple, et tu colles le code. Après avoir modifié chemin et nom de fichier, tu exécude le code.
    Si tu désignes le chemin de la clé USB, il ouvrira ton fichier en format Excel. Il te restera à insérer un entête à tes colonnes et à copier ta feuille dans le Classeur ouvert au début.
    Pour cette dernière partie, on peut faire autrement mais on verra plus tard.
    Commence par récupérer ton cso comme il faut
    A+

  9. #9
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 74
    Points : 21
    Points
    21
    Par défaut
    je viens d'essayer mais en vain peux tu me donner plus de détail dans l'utilisation

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    (14h56)
    Exécute simplement cette procédure après l'avoir collé dans un module standard et remplacé chemin et nom de fichier
    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
    Sub OuvrirFichierCSO()
    Dim Chemin As String, NomFich As String
    'Cette procédure ouvre ton fichier afin de pouvoir l'utiliser
     
        '*********************** Partie à modifier *************************
        Chemin = "D:\xls\"          'Mets le chemin de ta clé USB à la place
        NomFich = "FichierCSO.cso"  'Rentre le nom de ton fichier à la place
        '*******************************************************************
     
        AncienNom = Chemin & NomFich
        NouveauNom = Chemin & Left(NomFich, InStr(NomFich, ".cso") - 1) & ".txt"
        'On renomme le fichier .cso en .txt
        Name AncienNom As NouveauNom
        'ouverture du fichier
        Workbooks.OpenText Filename:="D:\xls\FichierCSO.txt", DataType:=xlDelimited, Other:=True, Semicolon:=True, Tab:=False
        'Remplacement des espaces dont le code ascii est <> 32
        Cells.Select
        Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows
    End Sub
    Edit(16h44)
    Comme tu as l'air d'avoir des pb, je te joins le fichier avec la macro et une petite explication.
    Pièce jointe 18182
    A+

  11. #11
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 74
    Points : 21
    Points
    21
    Par défaut
    je viens d'essayer votre macro j'ai changer le chemin é le nom du fichier é ken je fais play virtual basik surligne en jaune la ligne Name AncienNom As NouveauNom!! please help me

Discussions similaires

  1. Conception d'une automatisation d'un traitement de données
    Par StayFun dans le forum Modélisation
    Réponses: 3
    Dernier message: 02/06/2008, 19h36
  2. automatiser l'importation de donnée via DTS
    Par cortex024 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/03/2006, 10h07
  3. traitement des données avant envoie dans MySQL
    Par italiasky dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 07/02/2006, 22h50
  4. automatiser l'insertion de données dans une bd
    Par matterazzo dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 24/10/2005, 01h06
  5. Programmation pour traitement de données
    Par benbois dans le forum Langages de programmation
    Réponses: 16
    Dernier message: 19/10/2005, 17h01

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