apache88
Messages postés78Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 mars 2014
-
16 août 2007 à 08:29
apache88
Messages postés78Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 mars 2014
-
16 août 2007 à 09:57
Bonjour,
Tout d'abors voici mon code Vb .NET:
Imports
System.IO
Module
Module1
Sub Main()
Dim monStreamReader
As
New StreamReader(
"C:\Documents and Settings\tanner\Desktop\liste.txt")
'Stream pour la lecture
Dim ligne
As
String
' Variable contenant le texte de la ligne
Dim test
As
String
Dim excel
As
New Excel.Application
Dim wb
As Excel.Workbook
Dim ws
As Excel.Worksheet
Dim Li
As
Long
Dim La = Asc((
"A") - 96)Li 1excel.Visible
True
'la fenêtre excel est visible
wb = excel.Workbooks.Add(1)
'on ouvre un classeur dans excel
ws = wb.Worksheets(1)
'on ouvre une feuille dans le classeur excel
wb.Sheets(
"Feuil1").Select()
'on séléctionne la feuille nommé "Feuil1"
wb.Sheets(
"Feuil1").Name =
"Droits sur Y"
'on renomme la feuil1 en Alloga
excel.Visible =
True
'la fenêtre excel est visible
Doligne = monStreamReader.ReadLine
test = ligne.Chars(0)
MsgBox(La)
If test =
"Y"
Thenws.Range(
"A" & Li).Value = ligne
Li = Li + 1
Else
ws.Range().Value = ligne
End
If
Loop
Until ligne
Is
Nothingwb.SaveAs(
"H:\droits Y\Liste.xls")
'Enregistrement du fichier
monStreamReader.Close()
End
SubEnd
Module
Ce code permet de lire un fichier texte ligne par ligne. Ensuite il va écrire les ligne dans excel. Dans ma boucle, si la ligne commence par Y, il me l'écris dans A1 puis la prochaine ligne B1 etc... par contre, si une ligne ne commence pas par Y, ça l'écris dans B1, puis C1 etc... Seulement voila...je sais pas comment faire dans ma boucle pour qu'il change de lettre à chaque fois.... c'est un peu comme pour mon IF, sauf que c'est les lettre qui doivent changer et non les chiffres... J'avais pensé assigner un chiffre à chaque lettre mais je ne sais pas trop comment faire et je sais pas si ça va marcher.
apache88
Messages postés78Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 mars 2014 16 août 2007 à 09:57
Je suis en train de gentiment trouver une solution mais ça bloque la...
Imports
System.IO
Module
Module1
Sub Main()
Dim monStreamReader
As
New StreamReader(
"C:\Documents and Settings\tanner\Desktop\liste.txt")
'Stream pour la lecture
Dim ligne
As
String
' Variable contenant le texte de la ligne
Dim test
As
String
Dim excel
As
New Excel.Application
Dim wb
As Excel.Workbook
Dim ws
As Excel.Worksheet
Dim Li
As
Long
Dim Li2
As
Long
Dim x
As
Stringx = Chr(66)
Li = 1
Li2 = 1
excel.Visible =
True
'la fenêtre excel est visible
wb = excel.Workbooks.Add(1)
'on ouvre un classeur dans excel
ws = wb.Worksheets(1)
'on ouvre une feuille dans le classeur excel
wb.Sheets(
"Feuil1").Select()
'on séléctionne la feuille nommé "Feuil1"
wb.Sheets(
"Feuil1").Name =
"Droits sur Y"
'on renomme la feuil1 en Alloga
excel.Visible =
True
'la fenêtre excel est visible
Doligne = monStreamReader.ReadLine
test = ligne.Chars(0)
MsgBox(x)
If test =
"Y"
Thenws.Range(
"A" & Li).Value = ligne
Li = Li + 1
Elsews.Range(x +
"1").Value = ligne
x = Chr(66 + Li2)
Li2 = Li2 + 1
End
If
Loop
Until ligne
Is
Nothingwb.SaveAs(
"H:\droits Y\Liste.xls")
'Enregistrement du fichier
monStreamReader.Close()
End
SubEnd
Module
Je voudrais pouvoir mettre "ws.Range(x + Li3).Value = ligne (Li3 que je déclare bien sur comme pour Li et Li2). Seulement il n'accepte pas... il me met le message d'erreur suivant: "Conversion from string "B" to type 'Double' is not valid."