Import dbf sur Excel

Fermé
lagombe - 26 nov. 2003 à 16:58
 Mathieu - 29 déc. 2003 à 10:12
Bonjour à tous,

voilà je souhaite importer une base .dbf sur Excel. Jusque là pas trop de problème, sauf que ma base fait plus de 65536 lignes et donc du coup je perds une partie de mes enregistrements... J'ai installé Query et j'ai essayé de faire des requêtes pour importer la base par morceaux sur +ieurs onglets mais ça marche pas... ou du moins je m'y prends mal... Si qq'un peut m'aider...
A voir également:

3 réponses

aabricotier
27 nov. 2003 à 17:33
tu pourais peut etre le faire avec Ms Access
1
aabricotier
26 nov. 2003 à 23:06
Salut .

Par DBF vous voulez dire un fichier Dbase ??
0
Exact, par fichier .dbf j'entends un fichier Dbase. Peut-être une solution?
0
aabricotier > lagombe
27 nov. 2003 à 17:16
salut

pourquoi ne pas decouper votre fichier en d'autres fichiers dont le nombre d'enregistrement inferieur au nombre autorisé par excel

et les importer un par un
0
lagombe > aabricotier
27 nov. 2003 à 17:21
Re,

Ce serait une bonne idée malheureusement je ne sais pas quel logiciel fait ça sur un fichier Dbase, et j'aurais aimé pouvoir resté sur Excel avec du code VBA qui m'aurait permis de changer de feuille au dépassement de lignes...
0
Mathieu > aabricotier
29 déc. 2003 à 10:12
j'ai trouvé la réponse sur ce site : une macro VBA qui créé à la suite des feuilles pour ne pas dépasser 65536 lignes par feuilles !!!

bonne suite !

Attribute VB_Name = "ImportVeryBigTextFile2"

'Importer dans un classeur un fichier texte de grande taille
'(version 2)
'Bernie Dietrick, mpep

Sub LargeFileImport_v2()
'Bernie Detrick's code for opening vary large text files in Excel
'Dimension Variables
Dim ResultStr As String
Dim FileName As String
Dim FileNum As Integer
Dim Counter As Double

'Ask User for File's Name
FileName = Application.GetOpenFilename
'Check for no entry
If FileName = "" Then End
'Get Next Available File Handle Number
FileNum = FreeFile()
'Open Text File For Input
Open FileName For Input As #FileNum
'Turn Screen Updating Off
Application.ScreenUpdating = False
'Create A New WorkBook With One Worksheet In It
Workbooks.Add Template:=xlWorksheet
'Set The Counter to 1
Counter = 1
'Loop Until the End Of File Is Reached
Do While Seek(FileNum) <= LOF(FileNum)
'Display Importing Row Number On Status Bar
Application.StatusBar = "Importing Row " & Counter & _
" of text file " & FileName
'Store One Line Of Text From File To Variable
Line Input #FileNum, ResultStr
'Store Variable Data Into Active Cell
If Left(ResultStr, 1) = "=" Then
ActiveCell.Value = "'" & ResultStr
Else
ActiveCell.Value = ResultStr
End If
If ActiveCell.Row = 65536 Then
'If On The Last Row Then Add A New Sheet
ActiveWorkbook.Sheets.Add
Else
'If Not The Last Row Then Go One Cell Down
ActiveCell.Offset(1, 0).Select
End If
'Increment the Counter By 1
Counter = Counter + 1
'Start Again At Top Of 'Do While' Statement
Loop
'Close The Open Text File
Close
'Remove Message From Status Bar
Application.StatusBar = False
End Sub
0
OK, ça fonctionne mais j'aurais aimé rester sur Excel, dans une seule appli...
0
aabricotier
27 nov. 2003 à 19:47
a partir de là, vous pouvez faire des selction sur votre table et transfere les donnees sur une page excel ('copy , cole' )
0
lagombe > aabricotier
28 nov. 2003 à 17:02
Oui, oui, j'ai bien compris... mais j'aurais aimé avoir une solution qui me permette de rester sur Excel... Existe-t-elle, ça c'est une autre question? ;-)
0