Automatisation de données excel

Fermé
gysmo57 - 31 août 2011 à 19:14
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 27 janv. 2016 à 16:59
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
A voir également:

3 réponses

antipolis a Messages postés 15609 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 12 novembre 2014 2 858
31 août 2011 à 19:32
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
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 1/09/2011 à 08:46
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
C'est en quelle langage ça svp ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > L_L
27 janv. 2016 à 16:59
VBA
0
Merci Michel

Je vais essayer

cordialement
0