Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/11/2011, 11h19   #1
Invité de passage
 
Femme
Développeur informatique
Inscription : octobre 2011
Messages : 13
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : octobre 2011
Messages : 13
Points : 4
Points : 4
Par défaut Importer seulement quelques cellules Excel vers Access.

Bonjour,

J'aurais besoin de vos lumières. Voici mon soucis :
Je dispose d'un fichier Excel possédant 17 feuilles.
Sauf que moi, je ne veux importer les données que de 11 feuilles (avec la même disposition.) -> Prenons par exemple les feuilles "France" "Chine" "USA" "Italy" "..."

Ensuite, je ne veux prendre que certaines cellules. Pour éviter de retravailler la base par la suite (importer en brut).
Il y aurai une vingtaine de cellules à prendre, par ligne, pour ensuite les importer sur Access. Il y aurait 4 lignes pour chaque feuille à importer. Soit 80 cellules.

J'espère avoir été claire, si vous voulez de plus amples explications, n'hésitez pas !

Cordialement,
Malela.
Malela est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 12h20   #2
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 756
Points : 1 756
Bonjour,
avec un petit module
Les données sont importées dans une table Import, à adapter
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Sub Importation()
 Dim xlApp As Object, xlw As Workbook, sh As Worksheet
 Dim t As DAO.Recordset, i As Long
 
 Set xlApp = CreateObject("Excel.Application")
 Set xlw = xlApp.Workbooks.Open("c:\chemin\fichierExcel.xlsx")
 xlApp.Visible = True
 
 DoCmd.RunSQL "DELETE Import.* FROM Import;"
 
 Set t = CurrentDb.OpenRecordset("Import")
 For i = 1 To xlw.Sheets.Count
   Set sh = Sheets(i)
   Select Case sh.Name
   Case "France", "Italie", "USA"
     t.AddNew
     t!pays = sh.Name
     t!valeur1 = sh.Cells(4, 2)
     t!valeur2 = sh.Cells(7, 5)
     .....
     t.Update
   End Select
 
 Next i
 t.Close
 xlw.Close SaveChanges:=False
 xlApp.Quit
End Sub
La sélection de l'onglet peut aussi se faire par le numéro de l'onglet
Code :
1
2
3
 
   Select Case i
   Case 4 To 8, 10, 13, 15 To 17
helas est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h40.


 
 
 
 
Partenaires

Hébergement Web