Fichier texte vers classeur excel

Description

Ce code permet d'importer dans une feuille d'un classeur EXCEL les données d'un fichier texte. Il faut référencer la bibliothèque d'objets d'EXCEL dans le projet.

Source / Exemple :


Option Explicit 
'Ce code fait appel à la bibliothèque Microsoft EXCEL (Microsoft Excel Library).
'Il ne faut pas oublier de la référencer dans le projet.

Private Sub cmdTextEXCEL_Click()
  Dim Appli As New Application
  Dim Ligne As String
  Dim LigneExcel As Integer
  Dim PointVirgule1, PointVirgule2 As Integer
  Dim Long1, Long2, Long3 As Integer
  Dim Data1, Data2, Data3 As String
  Dim stFichier As String
  
  If Right(App.Path, 1) = "\" Then
    stFichier = App.Path
  Else
    stFichier = App.Path + "\"
  End If
  
  'Ouvrir le fichier texte "Depart75.txt" en mode lecture
  Open stFichier + "Depart75.txt" For Input As #1
  
  'Rendre visible EXCEL
  Appli.Visible = True
  
  'Créer un nouveau classeur EXCEL initialisé à la ligne 1
  Appli.Workbooks.Add.Activate
  LigneExcel = 1
  
  'Inscrire le contenu du fichier texte dans la feuille 1 du classeur EXCEL
  Do While EOF(1) = False
    
    Line Input #1, Ligne
    
    'Rechercher la position des points virgules
    PointVirgule1 = InStr(1, Ligne, ";")
    PointVirgule2 = InStr(PointVirgule1 + 1, Ligne, ";")
    
    'Affecter les données à la Data1 et à la Data2
    Data1 = Mid(Ligne, 1, PointVirgule1 - 1)
    Data2 = Mid(Ligne, PointVirgule1 + 1, (PointVirgule2 - PointVirgule1 - 1))
        
    'Calculer la longueur de la Data3
    Long1 = Len(Data1)
    Long2 = Len(Data2)
    Long3 = Len(Ligne) - (Long1 + Long2 + 2)
      
    'Affecter les données à la Data3
    Data3 = Mid(Ligne, PointVirgule2 + 1, Long3)
    
    'Affecter Data1, Data2 et Data3 dans les cellules de la feuille 1
    With ActiveWorkbook.Worksheets("Feuil1")
    
      .Cells(LigneExcel, 1) = Data1
      .Cells(LigneExcel, 2) = Data2
      .Cells(LigneExcel, 3) = Data3
      
      LigneExcel = LigneExcel + 1
      
    End With
    
  Loop
    
  Close
  
  MsgBox "Importation terminée.", vbInformation + vbOKOnly, "Fichier Texte -> Classeur EXCEL"
  
End Sub

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.