Manipulation cellule excel

Résolu
tontonmsirda Messages postés 10 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 7 septembre 2007 - 20 juil. 2007 à 10:02
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 20 juil. 2007 à 11:16
je suis en train de créer une application qui permettra de lire un fichier ASCII et d'envoyer certaines données sur Excel.
J'arrive à filtrer et envoyer les données dans les cellules souhaitées.
Mon problème est que j'aimerai, en fonction de la cellule active( qui est en variable) d'envoyer une donnée sur une cellule décalée à droite de une case ou deux.



Dim
ligne

As



Object








Dim
i

As



Integer






Dim
j

As



Integer






Dim
k

As



Integer






Dim
info(100)

As



String






Dim
VA(100)

As



Double






Dim
VN

As



Double






Dim
TI

As



String






Dim
TS(1000)

As



String






Dim
DV

As



Double






Dim
lacase

As



String






Dim
objExcel

As



New
Excel.Application 


With
objExcel.Visible =


True

.Workbooks.Open(XlsPath)







End



With 



FileOpen(1, TrfPath, OpenMode.Input)


i = 1


LectureCase:







Do



Until
EOF(1)ligne = LineInput(1)

info(i) = ligne

j = i - 2

k = i - 1

lacase = Mid(info(i), 64, 1)


If
lacase =

" "



Then



GoTo
finlecturecase


If
lacase =

"-"



Then



GoTo
finlecturecase


If
lacase =

"*"



Then



GoTo
finlecturecase


If
lacase =

""



Then



GoTo
finlecturecaselacase = Mid(info(i), 64, 4)


'recherche de la valeur actuelle VA

VA(i) = Mid(info(j), 34, 11)







'recherche de la valeur nominal VN

VN = Mid(info(j), 49, 11)







'recherche TS et TI

TS(i) = Mid(info(k), 49, 11)


TI = Mid(info(i), 34, 11)







'recherche déviation

DV = Mid(info(k), 34, 11)


objExcel.Worksheets(1).range(lacase).Value = TS(i)


finlecturecase:


i = i + 1







Loop

FileClose(1)


Application.Exit()

5 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juil. 2007 à 11:16
OUps croisement de post.

Ton problème est résolu alors? Si oui pense à appuyer sur réponse accepetée sur le ou les posts qui t'on débloqués)

@+: Ju£i?n
Pensez: Réponse acceptée
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juil. 2007 à 10:10
Salut,
Regarde peu être du coté de Offset

DecalageLigne = 1
DecalageColonne = 1
ActiveCell.Offset(DecalageLigne, DecalageColonne).Activate

@+: Ju£i?n
Pensez: Réponse acceptée
0
tontonmsirda Messages postés 10 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 7 septembre 2007
20 juil. 2007 à 10:56
merci de ton aide. Je suis en train de tester parce que ça ne marche pas comme je veux.
0
tontonmsirda Messages postés 10 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 7 septembre 2007
20 juil. 2007 à 11:11
merci encore de ton orientation


voilà la solution :
'activer la cellule



objExcel.Worksheets(1).range(lacase).activate()







'envoyer la donnée dans la cellule

objExcel.Worksheets(1).range(lacase).value = TS(i)







'définir les décalages

decalageligneTSTI = 1


decalagecolonneTSTI = 0







'activer la cellule

objExcel.ActiveCell.Offset(decalageligneTSTI, decalagecolonneTSTI).Activate()







'envoyer la donnée

objExcel.ActiveCell.Value = VA(i)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juil. 2007 à 11:14
Re,
Question ou est ton code?
Dans VB6 ou directement sous Excel?

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous