Automatisation de données excel

gysmo57 -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaite savoir comment il est possible d'automatiser une action par excel.

Je précise. Je souhaite importer des données txt dans excel. Ces données sont rééditées tous les mois bien sûr avec des valeurs différentes et des positions différentes. Seul le répertoire de stockage est identique.

Je souhaite donc automatiser une action de mise à jour des données par le biais d'excel à partir d'un répertoire fixe.

Quelqu'un peut il m'aider dans cette démarche en m'expliquant comment procéder ?

Merci d'avance

3 réponses

  1. antipolis a Messages postés 17152 Statut Membre 2 917
     
    Bonjour.

    Si la structure des "données.txt" est différente chaque mois, je ne vois pas bien comment automatiser la récupération.

    Quelques infos ici : http://boisgontierjacques.free.fr/
    Voir le chapitre : Fichiers séquentiels

    Cordialement.
    0
    1. gysmo57
       
      Bonjour antipolis

      Il y a pourtant un moyen car la personne à qui j'avais confié ce développement me l'avait confirmé. Cependant elle n'est plus là.
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour

    Essaies ce vieux classique

    Option Explicit   
    Const Chemin As String = "D:\documents\" ' a adapter   
    Const Fichier As String = "réponses types forum.txt" ' a adapter   
    
    Sub importer_fichier_texte_restant fermé()   
        Dim Requete As Object, Source As Object   
           
        'préparation   
        Application.ScreenUpdating = False   
        Range("A2:AA10000").ClearContents ' a adapter   
           
        'connexion au fichier texte fermé   
        Set Source = CreateObject("ADODB.Connection")   
         Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _   
        "Data Source=" & Chemin & ";" & _   
        "Extended Properties=""text;HDR=Yes;FMT=Delimited"""   
    
         'Requete   
         Set Requete = CreateObject("ADODB.Recordset")   
         Requete.Open "SELECT * FROM [" & Fichier & "]", Source   
    
         'restitution   
         ActiveSheet.Range("A2").CopyFromRecordset Requete 'A2 à adapter   
            
    End Sub   
    


    nota:
    Attention si tu as XL<2007 et + de 65536 lignes, je te proposerais une adaptation mais des fouilles archéologiques seront à effectuer dans mon disque dur! :-)
    On suppose que le fichier texte est présent et fermé (tu dis si tu veux tester)
    Michel
    0
    1. L_L
       
      C'est en quelle langage ça svp ?
      0
      1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > L_L
         
        VBA
        0
  3. gysmo57
     
    Merci Michel

    Je vais essayer

    cordialement
    0