Automatisation de données excel

gysmo57 -  
michel_m Messages postés 16602 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
A voir également:

3 réponses

antipolis a Messages postés 15609 Date d'inscription   Statut Membre Dernière intervention   2 859
 
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
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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
L_L
 
C'est en quelle langage ça svp ?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > L_L
 
VBA
0
gysmo57
 
Merci Michel

Je vais essayer

cordialement
0