Fichier texte vers classeur excel

Soyez le premier à donner votre avis sur cette source.

Vue 21 335 fois - Téléchargée 1 381 fois

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

Ajouter un commentaire

Commentaires

spluiss
Messages postés
27
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
4 avril 2013
-
resalut

pour le problem au dessus c bon mais a present je voudrais mettre le contenu du fichier text dans un fichier specifique et non dans une nouvelle applcation.

merci de ta reponse
sylvain
spluiss
Messages postés
27
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
4 avril 2013
-
salut,

je rencontre le problemesuivant pour ton programme:
"l'entrée depasse la fin du fichier"
peux tu me dir ce qui manque pour reparer ce probleme

merci
sauzeekaiser
Messages postés
2
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
24 février 2004
-
Bonjour,
Je n'ai jamais utiliser VB , peut tu me donner toute les marches a suivre pour pouvoir permettre a ton prog de marcher correctement deja comment faut il référencer la bibliothèque d'objets d'EXCEL dans le projet.
mon fichier texte est de cette forme:
J510ASE,23/02/2004,16:36:26,1,73,P0000001.jpg
P266LSX,23/02/2004,16:36:37,1,76,P0000002.jpg
K750ASF,23/02/2004,16:36:42,1,73,P0000003.jpg
M231RSX,23/02/2004,16:36:50,1,76,P0000004.jpg

il me faudra mettre dans un tableau excel les 3 première information de chaque ligne dans un tableau excel et tout ca au fil de l'eau
merci d'avance

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.