Bonjour,
J'ai effectué un programme sous Windev express 12 pour transformer un fichier txt en excel.
Voici le code windev que j'ai fait :
En gros on a une fenetre avec un bouton "parcourir" où on choisit le fichier texte qui aura pour variable -> SAI_Chemin1.
Puis on clique sur "Création" qui posséde le code ci-dessus. Grâce à ce code on obtient un nouveau fichier excel avec les données du fichier text rangé par colonne. Les fichiers textes ont toujours la même forme et ne possède pas de séparateur. Il faut donc les lires octet par octet.
Malheureusement Windev express produit des exécutables qui ne dure que 2 semaine maximum car c'est une version gratuite. Je joint un type de fichier texte et le résultat censé obtenir.
Ne connaissant rien au marco excel est-il possible de retranscrire ce code sous macro VBA ? Y a t-il une âme charitable pour pouvoir le faire ?!
Merci d'avance
J'ai effectué un programme sous Windev express 12 pour transformer un fichier txt en excel.
Voici le code windev que j'ai fait :
//Création de l'objet
xl est un objet OLE "Excel.Application"
// Excel doit être affiché
xl>>Visible = OLEVrai
// Nouveau classeur
xl>>workbooks>>add()
xl>>range("A1")>>Value = "N° contrat"
xl>>range("B1")>>Value = "Police AUXIA"
xl>>range("C1")>>Value = "Civilité"
xl>>range("D1")>>Value = "Nom"
xl>>range("E1")>>Value = "Prénom"
xl>>range("F1")>>Value = "Date naissance"
xl>>range("G1")>>Value = "N° Assuré"
xl>>range("H1")>>Value = "Adresse du souscripteur"
xl>>range("I1")>>Value = "Code Postale"
xl>>range("J1")>>Value = "Ville"
xl>>range("K1")>>Value = "Capital"
xl>>range("L1")>>Value = "Durée paiement/fract."
xl>>range("P1")>>Value = "Date mvt"
xl>>range("A1")>>ColumnWidth = 25
xl>>range("B1")>>ColumnWidth = 15
xl>>range("D1")>>ColumnWidth = 15
xl>>range("E1")>>ColumnWidth = 15
xl>>range("H1")>>ColumnWidth = 35
xl>>range("J1")>>ColumnWidth = 25
xl>>range("K1")>>ColumnWidth = 18
xl>>range("L1")>>ColumnWidth = 12
IdFichier est un entier= fOuvre(SAI_Chemin1..Valeur,foLecture)
i est un entier = 3
SI IdFichier > 0 ALORS
LigneLue est une chaîne = fLitLigne(IdFichier) //lecture de la premiere ligne
TANTQUE LigneLue<>"" ET LigneLue<>EOT
//extraction des données de la ligne
ExtraitChaîne(LigneLue, 1, " ")
LigneLue= fLit(IdFichier,24)
xl>>range("A"+i)>>Value = LigneLue
//Saute les espace dans le fichier txt
fLit(IdFichier,2)
LigneLue= fLit(IdFichier,8)
xl>>range("B"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,3)
xl>>range("C"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,25)
//Saut du point dans le fichier txt et des espaces
fLit(IdFichier,25)
//reprise de l'enregistrement
xl>>range("D"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,25)
xl>>range("E"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,8)
xl>>range("F"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,7)
xl>>range("G"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,60)
xl>>range("H"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,5)
xl>>range("I"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,30)
xl>>range("J"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,15)
xl>>range("K"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,13)
xl>>range("L"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,10)
xl>>range("M"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,8)
xl>>range("N"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,4)
xl>>range("O"+i)>>Value = LigneLue
LigneLue= fLit(IdFichier,10)
xl>>range("P"+i)>>Value = LigneLue
//Saute les espace dans le fichier txt
fLit(IdFichier,2)
i++
FIN
fFerme(IdFichier) //fermeture du fichier
FIN
En gros on a une fenetre avec un bouton "parcourir" où on choisit le fichier texte qui aura pour variable -> SAI_Chemin1.
Puis on clique sur "Création" qui posséde le code ci-dessus. Grâce à ce code on obtient un nouveau fichier excel avec les données du fichier text rangé par colonne. Les fichiers textes ont toujours la même forme et ne possède pas de séparateur. Il faut donc les lires octet par octet.
Malheureusement Windev express produit des exécutables qui ne dure que 2 semaine maximum car c'est une version gratuite. Je joint un type de fichier texte et le résultat censé obtenir.
Ne connaissant rien au marco excel est-il possible de retranscrire ce code sous macro VBA ? Y a t-il une âme charitable pour pouvoir le faire ?!
Merci d'avance