Import à partir d'une ligne

Fermé
Bstn - 26 mars 2015 à 14:49
Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 - 27 mars 2015 à 07:53
Bonjour,

J'ai une feuille excel comprenant un tableau qui commence en ligne 6. De la ligne 1 à 5 j'ai le titre du document et des infos basiques. Je souhaiterai importer cette feuille mais uniquement à partir de la ligne 6 pour avoir juste le tableau dans une base de donnée.
Quelqu'un sait-il comment faire car je suis bloqué.
Merci d'avance pour votre aide

1 réponse

Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
26 mars 2015 à 15:31
Bonjour,

Définir une zone d'impression ou une zone nommée dans votre fichier Excel, contenant que les données à importer. Dans l'assistant d'importation il demande si vous souhaitez prendre toute la feuille ou une zone en particulier

Cordialement
1
oui j'ai vu qu'on pouvait faire comme ça, le problème c'est que mon tableau est en constante évolution, je rajoute des lignes tous les jours donc je ne peux pas définir une plage fixe.
Je pourrais évidemment définir une plage qui serait suffisamment grande pour acceuillir toutes les nouvelles lignes de mon tableau mais ça signifie que je dois importer de nombreuses lignes vides et cette solution ne me convient pas vraiment.
J'aimerai plus faire arriver à importer à partir du début de mon tableau à l'aide d'un code VBA.
En tout cas merci pour ton aide Thorak83
0
Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
Modifié par Thorak83 le 26/03/2015 à 15:51
Avec code vba si vous savez vous en servir
DoCmd.TransferSpreadsheet acImport, , "tableaccess","C:\Mes Documents\tableau.xls", True, "A6:G12"
0
Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
26 mars 2015 à 15:53
autre solution encore plus poussez et de se connecter a votre feuille excel en vba en utilisant la librairie excel vba et d'aller chercher ce que vous voulez dans votre feuille pour l'inserer ou vous voulez dans access. Mais ceci demande plus de compétences sous vba access et ne sais pas si vous les avez
0
Bstn > Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017
26 mars 2015 à 15:58
effectivement, je ne pense pas avoir les compétences sous vba access pour faire ceci
0
J'ai fait un code de ce style mais ça ne marche pas et je bloque vraiment pour le coup
Sub Import_tableau()
'Dim oApp As Excel.Application
'Dim oWkb As Excel.Workbook
'Dim oWSht As Excel.Worksheet

Set oApp = CreateObject("excel.application")
Set oWkb = oApp.Workbooks.Open("C:\Users\LAGIER\Documents\GI.xls")
Set oWSht = oWkb.Worksheets("GI")
'premier ligne ou tu commences ton import
i = 6

'pour éviter les messages lors de l'ajout des enregistrements
DoCmd.SetWarnings False

'tant que la cellule n'est pas vide
While oWSht.Range("A" & i).Value <> ""
cSQL = "insert into [Import_GI] ( [champ1], [champ2], [champ3], [champ4], [champ5] ) values (" & Chr(34) & oWSht.Cells(i, 1) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 2) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 3) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 4) & Chr(34) & ", " & Chr(34) & oWSht.Cells(i, 5) & Chr(34) & ")"

'exécute la requète
DoCmd.RunSQL cSQL

i = i + 1
Wend

DoCmd.SetWarnings True
End Sub
0