Soyez le premier à donner votre avis sur cette source.
Snippet vu 13 096 fois - Téléchargée 19 fois
'Script de génération de fichier Excel à partir d'un fichier texte ou CSV 'Yves LAURENT - juin 2008 '______________________________________________________________________________________ ' 'Usage : genExcel -s chemin_nom_fichier_texte -d chemin_nom_fichier_excel ' -a (ajustement auto des colonnes) '______________________________________________________________________________________ ' 'Structuration du fichier texte : '- Séparateur : ";" '- GR!| avant l'information : "Gras" '- IT!| avant l'information : "Italique" '- TI!| avant l'information : Titre '______________________________________________________________________________________ ' Récupération des infos dim Options, Numopt dim chemtxt, chemexcel dim fso, objExcel, objBook, objSheet, ligne, Ftxt, Cptli, Tabli Set Options = wscript.Arguments numopt=0 while numopt< Options.count Select Case LCase(Options(numopt)) Case "-s": numopt=numopt+1 chemtxt=Options(numopt) Case "-d": numopt=numopt+1 chemexcel=Options(numopt) Case "-?": call usage Case Else: call usage End Select numopt=numopt+1 wend ' Création de l'objet excel Set objExcel = CreateObject("Excel.Application") Set objBook = objExcel.Workbooks.Add Set objSheet = objBook.WorkSheets.Add Cptli=1 Set fso= CreateObject("Scripting.FileSystemObject") if chemtxt<>"" then Set Ftxt = fso.OpenTextFile(chemtxt) Do While Ftxt.AtEndOfStream<>true ligne=Ftxt.ReadLine Tabli=split(ligne,";") For icpt=0 to ubound(Tabli) Select Case Left(Tabli(icpt), 3) Case "GR!": objSheet.Cells(Cptli, icpt+1).Value = Right(Tabli(icpt), len(Tabli(icpt))-3) objSheet.Cells(Cptli, icpt+1).Font.Bold = true Case "IT!": objSheet.Cells(Cptli, icpt+1).Value = Right(Tabli(icpt), len(Tabli(icpt))-3) objSheet.Cells(Cptli, icpt+1).Font.Italic = true Case "TI!": objSheet.Cells(Cptli, icpt+1).Value = Right(Tabli(icpt), len(Tabli(icpt))-3) 'objSheet.Cells(Cptli, icpt+1).Font.Size = "11" objSheet.Cells(Cptli, icpt+1).Font.Bold = true objSheet.Cells(Cptli, icpt+1).Font.Color = RGB(0, 0, 255) Case Else: objSheet.Cells(Cptli, icpt+1).Value = Tabli(icpt) End Select Next Cptli=Cptli+1 Loop End if objSheet.Columns.Autofit objBook.SaveAs chemexcel objBook.Close 'Fermeture du classeur Excel objExcel.Quit 'Fermeture de l'application Excel 'Désallocation mémoire Set objSheet = Nothing Set objBook = Nothing Set objExcel = Nothing Sub Usage MsgBox _ "genExcel -s chemin_nom_fichier_texte -d chemin_nom_fichier_excel"&VBCRLF& _ " -s chemin_nom_fichier_texte : chemin et nom du fichier source"&VBCRLF& _ " -d chemin_nom_fichier_excel : chemin et nom du fichier excel de destination"&VBCRLF& _ " GR! devant un champ : champ en gras"&VBCRLF& _ " IT! devant un champ : champ en italique"&VBCRLF& _ " TI! devant un champ : Titre en gras et bleu"&VBCRLF& _ " -? Aide",vbInformation,"Usage" WScript.Quit (1) End Sub
27 avril 2011 à 09:27
Réactualisation futile de cette page donc. Mais merci pour le code.
27 avril 2011 à 09:19
ce code est exactement ce que je recherche mais quand j'exécute le fichier à partir de l'invite de commandes, soit cela me l'ouvre quand je tape "genExcel -s fichier.txt -d fichier.xls -a", soit cela n'exécute que Usage quand je tape "cscript genExcel.vbs -s ... -d ... -a".
NEED HELP POR FAVOR.
24 août 2009 à 09:04
Quel est le fichier texte d'entrée ?
17 août 2009 à 15:21
Quand j'utilise le script ci-dessus, j'obtiens un fichier Excel avec seulement 3 caractères "ÿþD" dans la cellule A1 dans la feuille 4.
Merci pour votre aide.
9 mars 2009 à 15:38
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.