Ecriture particulière dans fichiers excel

Minikisscool Messages postés 112 Date d'inscription mardi 30 mars 2004 Statut Membre Dernière intervention 1 avril 2008 - 2 juin 2004 à 10:35
paf24 Messages postés 20 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 12 janvier 2005 - 2 juin 2004 à 17:01
Alors je voudrais écrire d'une façon particulière dans excel.

Actuellement je fais ça :

Private Sub XLWrite()

Dim myXl As Excel.Application
Dim mySheet As Excel.workbook

'Creation de l'objet an excel
Set myXl = CreateObject("Excel.Application")

'Ouverture du fichier excel
Set mySheet = myXl.Workbooks.Open("c:\temp\fichier.xls")

'Ecriture dans les cases B3 à Q3
myXl.RAnge("B3") = lbI(1)
myXl.RAnge("C3") = lbI(2)
myXl.RAnge("D3") = lbI(3)
myXl.RAnge("E3") = lbI(4)
myXl.RAnge("F3") = lbI(5)
myXl.RAnge("G3") = lbI(6)
myXl.RAnge("H3") = lbI(7)
myXl.RAnge("I3") = lbI(8)
myXl.RAnge("J3") = lbI(9)
myXl.RAnge("K3") = lbI(10)
myXl.RAnge("L3") = lbI(11)
myXl.RAnge("M3") = lbI(12)
myXl.RAnge("N3") = lbI(13)
myXl.RAnge("O3") = lbI(14)
myXl.RAnge("P3") = lbI(15)
myXl.RAnge("Q3") = lbI(16)

'Sauvegarde du fichier
mySheet.Save

'Fermeture du fichier
mySheet.Close

'On quitte excel
myXl.Quit

'Libération des objets
Set mySheet = Nothing
Set myXl = Nothing

Exit_XLWrite:
Exit Sub

Err_XLWrite:
MsgBox Error$
Resume Exit_XLWrite

End Sub

J'ai repris un exemple donné sur le forum.

J'ai un timer dans mon appli qui travaille avec la seconde. info dans label totsecondes
Mon timer décompte le temps exemple de 30 à O
et ce que je voudrais c'est pas exemple pour 30 il écrit dans le fichier les 16 lbI à la ligne 3
pour 29, il écrit dans le fichier les 16 lbI à la ligne 4
etc....

Dans l'esprit je vois un peu comment faire.
un truc du style pour totsecondes écris à la ligne 3
pour totsecondes - 1 écris à la ligne 3 + 1
et ce tant que totsecondes est différent de 0

Voilà, un peu d'aide me serait utile.

Merci

1 réponse

paf24 Messages postés 20 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 12 janvier 2005
2 juin 2004 à 17:01
dans le form_load() :

timer1.interval=1000 '1 seconde
totseconde=0 'initialisation à 0s au départ

tu mets çà dans ta sub du timer1

Dim i As Integer
Dim ligneini As Integer
Dim colini As Integer

ligneini = 3 'initialisation ligne
colini = 2 'initialisation colonne : 1 pour A, 2 pour B...

i = totseconde + ligneini
For j = 1 To 4
myXl.Cells(i, j - 1 + colini).FormulaR1C1 = lbI(j)
Next j
totseconde=totseconde+1

if(totseconde>30) then
'tu désactives le timer, me souvient plus de la ligne de commande
end if

End Sub

voilà, je pense que çà marche

Paf24
0
Rejoignez-nous