Importer fichiers multiples excel => access

Importer fichiers multiples excel => access - VB/VBA/VBS - Programmation

Marsh Posté le 09-05-2007 à 18:34:18    

Bonjour,  
J'ai environ 500 fichiers Excel (avec les memes colonnes), qu'il faudrait que je mette sous un unique fichier (idealement access car je pense pas qu'une spreadsheet excel soit assez grande - les fichiers sont assez gros).
 
Quelqu'un a une idee ? En gros ca reviendrait a automatiser l'import de fichier sous access a tous les fichiers d'un folder.
 
MErci d'avance
Eric

Reply

Marsh Posté le 09-05-2007 à 18:34:18   

Reply

Marsh Posté le 09-05-2007 à 19:27:59    

Reply

Marsh Posté le 09-05-2007 à 20:27:38    

Merci pour le lien mais je t'avoue que je n'y ai rien trouve de tres specifique.
Une idee ?
E

Reply

Marsh Posté le 10-05-2007 à 09:03:00    

Bonjour,
 
Aménages un peu ceci (à placer dans un formulaire Access)
 
Private Sub Commande0_Click()
     Dim i, chemin
 
     chemin = "c:\mesXLS"
     
 
     With Application.FileSearch
          .NewSearch
          .FileType = msoFileTypeExcelWorkbooks
          .SearchSubFolders = False
          .LookIn = chemin
          If .Execute() <> 0 Then
               
               For i = 1 To .FoundFiles.Count
                     Workbooks.Open Filename:=.FoundFiles(i)
                     nomfi = .FoundFiles(i)
                     sonnom = ActiveWorkbook.Name
                     derligne = ActiveSheet.Range("A65534" ).End(xlUp)
                     Workbooks(sonnom).Close savechanges:=False
                     mazone = "a1:g" & derligne
                     DoCmd.TransferSpreadsheet acImport, , "matableaccess", .FoundFiles(i), False, mazone
     
                     
               Next i
          Else
               MsgBox ("Aucun  fichier " )
          End If
     End With
End Sub
 
A modifier: le répertoire, et la zone des cellules  
 
Cordialement


Message édité par seniorpapou le 10-05-2007 à 09:22:53
Reply

Marsh Posté le 10-05-2007 à 17:44:49    

Wow merci beaucoup.  
J'ai copie ca dans une macro sur Access (je sais pas comment editer directement le code sur un formulaire) (PS: je suis nul desole), et il me renvoie un message d'erreur: Invalid call or argument sur la ligne .FileType = msoFileTypeExcelWorkbooks
 
Help ?  
Merci beaucoup :jap:

Reply

Marsh Posté le 10-05-2007 à 17:51:13    

vérifier que la référence MS Script Runtime et MS Scripting est bien cochée ?

Reply

Marsh Posté le 10-05-2007 à 18:26:20    

Je les ai coches now c'est bon.
 
 Je lutte encore pour savoir comment integrer le code dans un formulaire. Je cree le formulaire, je cree un bouton. Je fais Code Builder, il ouvre VB editor, je rentre le code. Je ferme le tout, je clique sur le bouton et la ... nada :(
 
Une idee ? Faut que je cree la base qui va recevoir les donnees a un moment ?
 
(suis une bille)
Eric

Reply

Marsh Posté le 10-05-2007 à 18:43:48    

Bonsoir,
Assures-toi que le bouton s'appelle bien Commande0
Tu es dans quelle base?
tu dis nada?  cela plante?, il y a une erreur?,
es-tu allé voir dans les tables si elle n'a pas été créée?
Le chemin que tu as mis est-il correct?
 
Cordialement

Reply

Marsh Posté le 10-05-2007 à 23:21:12    

Dans quelle base ???
 
Au fait j'ai une version anglaise de access.
 
OK voila dans l'ordre ce que je fais.
Je cree un nouveau fichier access. (je cree pas de table. je devrais ?).
Je creee un form, en mode design, je click droit dessus, je choisi Build Event, dans le menu qui apparait il y a Expression Builder, Macro Builder, Code Builder. Je choisis code builder. Ca ouvre VB editor.  
 
Je copie le code que tu m'as donne (en remplacant commande par command - puisque c'est en anglais) et en mettant le chemin et la selection excel qui vont bien.
Je vais aussi dans Tools / References, je coche Microsoft Script COntrol 1.0, Microsoft SCripting Runtime, et Microsoft Scriptlet Library.
 
Finalement je sors de vb editor, je sauve le formulaire, je reouvre le formulaire en mode normal (pas design). Je click sur le bouton et la: il me renvoie un message de debogage. (celui que j'ai decrit plus haut). En gros il aime pas la ligne      .FileType = msoFileTypeExcelWorkbooks.
 
Aucune table n'est creee. Il faut que je le fasse separement ?
 
Merci beaucoup pour l'aide.  
Eric

Reply

Marsh Posté le 11-05-2007 à 07:05:48    

Bonjour,
Dans les références coches microsoft excel ...      et microsoft office...
Cordialement

Reply

Marsh Posté le 11-05-2007 à 07:05:48   

Reply

Marsh Posté le 11-05-2007 à 09:31:09    

enormissime, ca marche :)
T'es trop fort.  
Merci infiniment.
 
Eric

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed