Assigner un chiffre à une lettre

apache88 Messages postés 78 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 19 mars 2014 - 16 août 2007 à 08:29
apache88 Messages postés 78 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 19 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.

Quelqu'un aurait-il une idée?

Merci

1 réponse

apache88 Messages postés 78 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 19 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."

Une idée?

merci
0
Rejoignez-nous