Excel ajout d'enregistrement avec timer

Signaler
Messages postés
80
Date d'inscription
mardi 13 août 2002
Statut
Membre
Dernière intervention
15 décembre 2010
-
Messages postés
80
Date d'inscription
mardi 13 août 2002
Statut
Membre
Dernière intervention
15 décembre 2010
-
Bonjour, j’ai fait un programme pour lire les fichiers mazak d’un disque dur, il analyse les fichiers vérifient s'il est ok. Mais tout en le vérifiant j’aimerais qu’il retranscrit dans un fichier Excel le numéro de programme qui correspond à la machine ex :  Programme t32, Programme t2, programme m32 etc. Donc supposons que le numéro 0214 et t’un programme T2  il s’écrit en dessous de programme t2. J’avais déjà cette source mais plus moyen de le retrouver. Et au fait il faisait bien la correspondance mais quand il changeait de colonne il laissait une case vierge c’est possible aussi qu’il ne fasse plus ce genre de case vide merci ?



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 





J’en ai besoin pour mon boulot merci.





Yo ManaM oY

8 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Comme je ne connais pas ce genre de fichier (mazak), c'est difficile d'aider...
Peux-tu mettre un extrait d'un fichier et un peu de ton code, tout en explicant ce qui ne fonctionne pas ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
80
Date d'inscription
mardi 13 août 2002
Statut
Membre
Dernière intervention
15 décembre 2010

En fait en citant fichier mazak j’enduis en erreur.



Les fichiers sont nommés en chiffre sans extension. Le problème n’est pas là. J’arrive à différencier les machines.



Dans un bouton de commande j’ouvre le classeur xls




Set xlBook GetObject("c:/classeur1.xls")<?xml:namespace prefix o ns = "urn:schemas-microsoft-com:office:office" /??>







xlBook.Application.Visible = True







xlBook.Windows(1).Visible = True






xlBook.Save




 





Dans une boucle exemple un timer.  Je veux écrire dans les colonnes.




 






'Dim i As Integer







''For i = 0 To txt1







   'Worksheets(1).Range("A" & txt1).Value = Label1  ‘/label1 étant le nom du fichier




   'Next i



Je suis enfin arrivé a écrire dans le classeur xls en bidouillant je peux ranger dans A,B ou C.



Mais le problème c’est que cela ralentis l’écriture car j’aurai environ 6000 fichiers a classé.

je doit surement vider la memoire mais comment.
Yo ManaM oY
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Je ne sais pas ce que vaut "txt1", mais si tu veux écrire dans le fichier, il faudrait commencer ta boucle à 1 et non 0, parce que la ligne 0 n'existe pas sous Excel.

Pour vider la mémoire, je ne sais pas.
Mais pour accélérer le processus, tu peux mettre
Application.ScreenUpdating = False en début de boucle et le remettre à True à la fin. Ça évitera le raffraîchissement de l'écran et ça ira plus rapidement.

Et tu es mieux d'utiliser une boucle plutôt qu'un Timer parce que tu ne sauras pas combien de temps ça prend pour effectuer une tâche. Vaut mieux laisser le système décider, je pense.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
80
Date d'inscription
mardi 13 août 2002
Statut
Membre
Dernière intervention
15 décembre 2010

merci MPi , j'ai eu une amélioration niveau ralentissement , mais c pas encore ca
je cherche, je cherche, encore merci de ton aide je ne connaissez pas cette instruction Application.ScreenUpdating = False

Yo ManaM oY
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Si je comprend bien, tu programmes sous VB6 et utlises l'Automation pour accéder à Excel et y copier des données. Je ne sais pas si c'est possible, mais as-tu pensé utiliser Excel pour tout faire plutôt que de passer par VB6 ?

Je pense que ce serait plus rapide du fait qu'il n'y aurait pas le ralentissement de l'Automation... (?)   une idée comme ça...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
80
Date d'inscription
mardi 13 août 2002
Statut
Membre
Dernière intervention
15 décembre 2010

C’est que mon programme en vb extrais des données en hexadécimal



Fichier mazak



p2[1]
3111










<hr align="left" width="33%" size="1" />



07

<hr align="left" size="1" />

[1]300000DF010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />

2E

<hr align="left" size="1" />

[1]32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />

05

<hr align="left" size="1" />

p2[1]110001002A003200DFBD3D464F4E44204445204D4154  on prend les deux chiffres on les change en decimale et on a le nom du fichier ex :

Private Sub ecran2(txt As TextBox)If txt "2E" Then txt "."If txt "30" Then txt "0"If txt "31" Then txt "1"If txt "32" Then txt "2"If txt "33" Then txt "3"If txt "34" Then txt "4"If txt "35" Then txt "5"If txt "36" Then txt "6"If txt "37" Then txt "7"If txt "38" Then txt "8"If txt "39" Then txt "9" If txt = "00" Then txt = " " If txt "41" Then txt "A" If txt "42" Then txt "B" If txt "43" Then txt "C" If txt "44" Then txt "D" If txt "45" Then txt "E" If txt "46" Then txt "F" If txt "47" Then txt "G" If txt "48" Then txt "H" If txt "49" Then txt "I" If txt "50" Then txt "P" If txt "51" Then txt "Q" If txt "52" Then txt "R" If txt "53" Then txt "S" If txt "54" Then txt "T" If txt "55" Then txt "U" If txt "56" Then txt "V" If txt "57" Then txt "W" If txt "58" Then txt "X" If txt "59" Then txt "Y" If txt "4A" Then txt "J" If txt "4B" Then txt "K" If txt "4C" Then txt "L" If txt "4D" Then txt "M" If txt "4E" Then txt "N" If txt "4F" Then txt "O" If txt "5A" Then txt "Z" If txt "20" Then txt " "
 End Sub
000000100012000A01000000000000000000000000000000000000000000000000000000000000001101

<hr align="left" width="33%" size="1" />1B

<hr align="left" size="1" />[1]1000003C0000000000000000000000000000000000000000800100000000000AAE6< et ici on a le numero de fichier  le reste c le programme d’une piece a tourner 00002FFFFDFA000000000000088B800000000000000000000000000000000

<hr align="left" width="33%" size="1" />1C

<hr align="left" size="1" />[1]1000013C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />18

<hr align="left" size="1" />[1]1000023C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />19

<hr align="left" size="1" />[1]1000033C000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />1A

<hr align="left" size="1" />[1]1000040A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />16

<hr align="left" size="1" />[1]1000053C010000000F520000412E414C4C0006400000000088B800000000000186A00000012C00000064000000C8000000000000000003010000000100000000

<hr align="left" width="33%" size="1" />1D

<hr align="left" size="1" />[1]1000063C00000000000000000008000000000000000000000000000000000000000000000000000000000000100200002CF20005000000000000006800A00000

<hr align="left" width="33%" size="1" />79

<hr align="left" size="1" />[1]1000073C88B8000000000000000000000000000007D00000015E0000000000010000500180002701000100000000000000000000000000000000000000000BB8

<hr align="left" width="33%" size="1" />C4

<hr align="left" size="1" />[1]1000083C0000000000000064000000000000000000000078100300003CF20001000000000000005000BE000088B8000000000000000000000000000003200000

<hr align="left" width="33%" size="1" />C6

<hr align="left" size="1" />[1]1000093C012C0008000000010000500188002701000100000000000000000000000000000000000000004D580000717A000000C80000000000000000000000C8

<hr align="left" width="33%" size="1" />DB

<hr align="left" size="1" />[1]10000A3C160400002F6200050001000000000000001000000BB80000000000000FA000000BB800000BB80000003C000000000002000055010000028000000000

<hr align="left" width="33%" size="1" />32

<hr align="left" size="1" />[1]10000B3C000000000000000000000000000000000000000000000C8000000000000000000000000000000000160500002F620005000100000000000000100000

<hr align="left" width="33%" size="1" />77

<hr align="left" size="1" />[1]10000C3C2710000000000000271000000BB800000BB80000006E0000000000060000550100000280000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />CC

<hr align="left" size="1" />[1]10000D3C000076C00000000000000000000000000000000018060000200600000001000100000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />64

<hr align="left" size="1" />[1]10000E3C000000000000000700005601000001F700000058005A000002BC000800070000000186A0000027100000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />E0

<hr align="left" size="1" />[1]10000F3C56020000018700000058005A000000000000000000000000286E00001388000000000000000000000000000000000000000056030000210500010000

<hr align="left" width="33%" size="1" />BD

<hr align="left" size="1" />[1]1000103C005A0000000000000000000000000000FFFF94F80000000000000000000000000000000000004E205604000020830001005800000000000000000000

<hr align="left" width="33%" size="1" />F6

<hr align="left" size="1" />[1]1000113C000000002774000000000000000000000000000000000000000000004E2056050000010500000000005A000000000000000000000000000000002710

<hr align="left" width="33%" size="1" />7E

<hr align="left" size="1" />[1]1000123C0000000000000000000000000000000000000000100700003CF20003000000000000002800280000283C000000000000000000000000000001900000

<hr align="left" width="33%" size="1" />91

<hr align="left" size="1" />[1]1000133C0096000700000007000090000000000007D001F400C807D003E803E80064003200320000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />01

<hr align="left" size="1" />[1]1000143C80000000000001010000138813884E204E2000000000000000000000000000000000000000000000000000000000000000005001800033C100020000

<hr align="left" width="33%" size="1" />AE

<hr align="left" size="1" />[1]1000153C00000000000000000000353200000000000029040000038400000000000000000000EA60000000785002800033C10002000000000000000000000000

<hr align="left" width="33%" size="1" />AE

<hr align="left" size="1" />[1]1000163C2904000003840000283C000003E800000000000000000000AFC800000078180800002006000000010001000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />E8

<hr align="left" size="1" />[1]1000173C00000000000000000000000000000000000700005601000001F700000058005A000002BC000800070000000186A00000271000000000000000000000

<hr align="left" width="33%" size="1" />D3

<hr align="left" size="1" />[1]1000183C0000000000000000000056020000018700000058005A000000000000000000000000286E000013880000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />99

<hr align="left" size="1" />[1]1000193C56030000210500010000005A0000000000000000000000000000FFFF92A00000000000000000000000000000000000003A9856040000208300010058

<hr align="left" width="33%" size="1" />11

<hr align="left" size="1" />[1]10001A3C00000000000000000000000000002710000000000000000000000000000000000000000000003A9856050000010500000000005A0000000000000000

<hr align="left" width="33%" size="1" />84

<hr align="left" size="1" />[1]10001B3C0000000000000000271000000000000000000000000000000000000000001009000020E20003000000000000000000280000283C0000000000000000

<hr align="left" width="33%" size="1" />84

<hr align="left" size="1" />[1]10001C3C00000000000000000000000000000000000700005001800033C1000200000000000000000000000035DF0000000000002904000003B6000000000000

<hr align="left" width="33%" size="1" />B8

<hr align="left" size="1" />[1]10001D3C00000000EA60000000465002800033C100020000000000000000000000002904000003B60000283C0000041A00000000000000000000AFC800000046

<hr align="left" width="33%" size="1" />39

<hr align="left" size="1" />[1]10001E3C150A00002C2600010004000100000000003C00000000000000000000000000000000000007D00000003200000000000300005401800027C000000000

<hr align="left" width="33%" size="1" />CE

<hr align="left" size="1" />[1]10001F3C000000000000000000004D5800006496000030D40000649600000226000000000000000000000032180B000020060000000100010000000000000000

<hr align="left" width="33%" size="1" />D4

<hr align="left" size="1" />[1]1000203C0000000000000000000000000000000000000000000000000000000500005601000001F700000058005A000004B0000800050000000186A000002710

<hr align="left" width="33%" size="1" />B8

<hr align="left" size="1" />[1]1000213C000000000000000000000000000000000000000056020000018700000058005A000000000000000000000000AFC8FFFFA0B000000000000000000000

<hr align="left" width="33%" size="1" />17

<hr align="left" size="1" />[1]1000223C0000000000000000000056030000218700010058005A0000000000000000000000009470FFFF901600000000000000000000000000000000000249F0

<hr align="left" width="33%" size="1" />00

<hr align="left" size="1" />[1]1000233C56040000208300010058000000000000000000000000000032C8000000000000000000000000000000000000000000002EE056050000208300010058

<hr align="left" width="33%" size="1" />BD

<hr align="left" size="1" />[1]1000243C00000000000000000000000000001770000000000000000000000000000000000000000000000BB85606000000830000005800000000000000000000

<hr align="left" width="33%" size="1" />81

<hr align="left" size="1" />[1]1000253C0000000186A0000000000000000000000000000000000000000000000000100C00002CF20005000000000000006800A0000088B80000727400000000

<hr align="left" width="33%" size="1" />E1

<hr align="left" size="1" />[1]1000263C00000000000007D00000015E000000000004000050018000230100010000000000000000000000000000000000000000000000007274000000000000

<hr align="left" width="33%" size="1" />82

<hr align="left" size="1" />[1]1000273C000000000000000000C8050D0000002A00000001000000010000270F0000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />88

<hr align="left" size="1" />[1]1000283C030100000000000000001002010500000001000010030001000000080000100301010000000100001604000500000002000016050005000000060000

<hr align="left" width="33%" size="1" />6C

<hr align="left" size="1" />[1]1000293C1806000000000007000010070003000000070000100701030000000700001808000000000007000010090103000000070000150A0101000000030000

<hr align="left" width="33%" size="1" />A6

<hr align="left" size="1" />[1]10002A14180B0000000000050000100C010500000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />57

<hr align="left" size="1" />[1]12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />03

<hr align="left" size="1" />p2[1]20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

<hr align="left" width="33%" size="1" />02

<hr align="left" size="1" /> donc pas facile déjà j’ai galerer a tout decoder.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>

Yo ManaM oY
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Ça reste que ça devrait pouvoir tout se faire sous Excel, en principe. VBA, c'est presque la même chose que VB. La syntaxe est un peu différente, mais tu as à peu près les mêmes possibilités.

Ça vaudrait peut-être le coup d'essayer. Si tu copies tout ton code dans un module d'Excel, tu n'auras peut-être rien à changer, ou très peu, je pense.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
80
Date d'inscription
mardi 13 août 2002
Statut
Membre
Dernière intervention
15 décembre 2010

ok je vais essayer de voir si il y a une possibiliter, mais du a un blem de pc j'avais perdu mon project, donc j'ai repris une sauvegarde pour recommencer et j'avais reussi sans blem avec excel, en tout les cas je te remerci de ta patience.

Yo ManaM oY