Import à partir d'une ligne
Bstn
-
Thorak83 Messages postés 1140 Statut Membre -
Thorak83 Messages postés 1140 Statut Membre -
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
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
-
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-
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 -
-
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
-
-
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
-