Il est impossible d'importer les fichiers de texte qui possèdent plus de 65 536 lignes dans Excel 97, Excel 2000, Excel 2002 et Excel 2003

Traductions disponibles Traductions disponibles
Numéro d'article: 120596 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Résumé

Dans Microsoft Excel 97 pour Windows, Microsoft Excel 2000, Microsoft Excel 2002 et Microsoft Office Excel 2003, il n'est pas possible d'ouvrir les fichiers texte comportant plus de 65 536 lignes dans leur intégralité. En effet, ces versions de Microsoft Excel n'acceptent pas plus de 65 536 lignes. Si vous ouvrez un fichier contenant un nombre supérieur de lignes, le fichier texte est tronqué à partir de la ligne 65 536 et le message d'erreur suivant s'affiche :
Impossible d'ouvrir le fichier en entier.
Toutefois, vous pouvez utiliser une macro pour ouvrir le fichier et partager automatiquement son contenu en plusieurs feuilles de calcul.

Remarques

Dans les versions d'Excel antérieures à Excel 97, la limite est de 16 384 lignes.

Dans les versions d'Excel ultérieures à Excel 2003, la limite est de 1 048 576 lignes.

Plus d'informations

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie explicite ou implicite. Ceci inclut, de manière non limitative, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière. Toutefois, ils ne modifieront pas ces exemples pour fournir des fonctionnalités ajoutées ou des procédures de construction pour satisfaire vos besoins spécifiques. L'exemple de macro suivant vous invite à fournir un nom de fichier texte, puis ouvre le fichier dans la mémoire. Si le nombre de lignes de ce fichier est supérieur à la limite acceptée par les feuilles de calcul Excel, soit 65 536 lignes, la macro partage le fichier en plusieurs feuilles de calcul. Cette macro s'applique uniquement aux fichiers enregistrés au format texte ; elle ne s'applique à aucun autre format. Elle ne fonctionne pas avec les formats de fichier de base de données.

Étant donné qu'il s'agit d'une macro, le processus peut être beaucoup plus lent que si vous cliquez sur Ouvrir dans le menu Fichier.
   'Toutes les lignes qui commencent par une apostrophe (') sont des commentaires
   'et ne sont pas nécessaires à l'exécution de la macro.
				
   Sub LargeFileImport()

      '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 = InputBox("Please enter the Text File's name, e.g. test.txt")
      '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
          
          'For Excel versions before Excel 97, change 65536 to 16384
          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
				
Remarque La macro n'analyse pas les données qui se trouvent dans des colonnes. Après avoir utilisé la macro, vous pouvez également utiliser la commande Convertir du menu Données pour analyser les données, le cas échéant. Si vous exécutez la macro sur un Macintosh et essayez d'ouvrir un fichier se trouvant sur le Bureau, vous devez faire précéder le nom du fichier des éléments ci-dessous.
Disque_dur:Desktop Folder:
Disque_dur correspond au nom de votre disque dur. Notez qu'il y a un espace entre les mots Desktop et Folder.

Propriétés

Numéro d'article: 120596 - Dernière mise à jour: mardi 29 janvier 2008 - Version: 4.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Excel 97 Standard
  • Microsoft Excel 2000 Standard
  • Microsoft Excel 2002
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
Mots-clés : 
kbhowto kbimport kbcode KB120596
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com