Import dbf sur Excel

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...

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut .

    Par DBF vous voulez dire un fichier Dbase ??
    1. Exact, par fichier .dbf j'entends un fichier Dbase. Peut-être une solution?
    2. @lagombesalut

      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
    3. @aabricotierRe,

      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...
    4. @aabricotierj'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
  2. OK, ça fonctionne mais j'aurais aimé rester sur Excel, dans une seule appli...
    1. a partir de là, vous pouvez faire des selction sur votre table et transfere les donnees sur une page excel ('copy , cole' )
    2. @aabricotierOui, 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? ;-)