fichier ecxel après macro

KN4

XLDnaute Nouveau
Bonjour, à tous j'ai créé une macro qui fait 32ko.
J'insert un fichier .txt (environ 600ko) dans ma macro .

Je me retrouve après extraction des données avec un fichier qui fait 4.5mo.
C'est vraiment énorme comme taille de fichier .

Pouvez -vous m'aider à trouver mon erreur ???

Je vous envoie ma macro puis dans un second message mon fichier .txt

Merci pour votre aide

NICO
 

KN4

XLDnaute Nouveau
re-essai la der [file name=er_track.zip size=21242]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/er_track.zip[/file]
 

Pièces jointes

  • er_track.zip
    9.3 KB · Affichages: 17
  • er_track.zip
    9.3 KB · Affichages: 18
  • er_track.zip
    9.3 KB · Affichages: 19

Hellboy

XLDnaute Accro
Bonjour KN4

Tu avais déjà poster une demande à ce sujet et je t'avais répondu mais je n'ai pas eu de 'Feedback'. En voyant les autres fichiers que tu as envoyé, je peux te dire à coup sure que c'est absolument normal que tu obtienne un fichier xls aussi volumineux. La raison est fort simple TCD(Tableau Croisé Dynamique). J'ai déja rencontré le même problême, et j'ai opter pour une solution différente. En passant, il serait bon de préciser la prochaine fois ce 'petit' détail. J'ai essayé de partir ta macro, mais ça bloque au TCD. Je ne dois pas avoir la même version d'Excel que toi. Si tu veux d'autres suggestion, peut me décrire ce que tu essaie de faire comme traitement avec tes données.


Philippe



Re:taille fichier après macro - 02/05/2005 14:51
Bonjour KN4

Je dirais d'abord Non et ensuite Oui. Excel semble garder trace ou alloue de l'espace mémoire dans son spreadsheet sur les cellules qui on déjà eu de l'information dedans.
Maintant je suppose que tu n'as pas autre chose dans ton fichier que les macro que tu fait mention. Alors, si c'est le cas, part toi un nouveau classeur vierge.Ensuite importe tes modules macro dedans. sSauve ton fichier sans importer de donnée dedans et refait ton exercise habituel.


KN4

XLDnaute Nouveau

Messages: 20

Re:taille fichier après macro - 02/05/2005 17:06
OK merci , je vais essayer de faire ca ;




;) ;)
 

KN4

XLDnaute Nouveau
merci pour ta réponse.
J'extrait une fois par semaine les logs de 5 équipements.
J'extrait par recette et niveaux toutes les erreurs qu'il ya eut.(TCD total)
Celle qui m'interresse le plus sont les erreurs critiques 9006-9007-90008.(TCD) toujours par recette.
Je les trie pour obetenir les 5 plus mauvaises recettes.
Mais j'ai besoin du TCD , cela me donne baucoup d'indications.
Je vais les Zipper .Tant pis.
Si tu as d'autres idées.
C'est avec plaisir.

NICO
 

Hellboy

XLDnaute Accro
Bonjour KN4

J'ai d'autre idées comment extraire seulement les erreurs critique que tu fait mention. Il faudrait que tu me donne un peut de temps (2 jours ~. En attendant est ce que ceci: -1A0ZA/CTDR-PH-0T est 2 informations différentes ? Ou qu'est ce que cet énoncé te donne comme information ? Ou mieux comment annalyse tu une ligne de donnée ex: 9006 -1A0ZA/CTDR-PH-0T Tue Mar 29 22:52:09 2005 Tue Mar 29 22:59:45 2005.
Dernière chose, losque tu trie pour obetenir les 5 plus mauvaises recettes, est ce par code d'erreur ou tout confondu ?



Au Plaisirs !

Philippe

P.S. Semiconducteur ?
 

Hellboy

XLDnaute Accro
Bonjour NICO

Bon c'est du tout cuit dans le bec... ;)

Code:
DefInt I
DefByte B
DefVar V
DefLng L
DefStr S
Private Sub Workbook_Open()
Dim tabstrTableau() As Variant
vFiles = Application.GetOpenFilename('Equipement file (*.*),*.*', , 'Titre', , True)
For Each vFile In vFiles
    iFileNo = FreeFile
    Open vFile For Input As #iFileNo
    ' Boucle pour compter le nombre de ligne qui va servir a redimentionner la variable tabstrTableau() qui elle à sont tour va servir a conserver
    ' seulement les lignes qui ont 9006, 9007, 90008 comme erreur de code
    While Not EOF(iFileNo)
           Line Input #iFileNo, sInfoLigne
           sInfoLigne = Trim(sInfoLigne)
           Select Case Left(sInfoLigne, InStr(sInfoLigne, Chr(32)) - 1)
               Case 9006, 9007, 90008
                    lLines = lLines + 1
           End Select
    Wend
    ReDim Preserve tabstrTableau(lLines, 11)
    ' referme le fichier pour ensuite le re-ouvrir et mettre dans la variable seulement les lignes qui ont 9006, 9007, 90008 comme erreur de code
    Close iFileNo = FreeFile
    Workbooks.Add
    iFileNo = FreeFile
    Open vFile For Input As #iFileNo
    lLines = 0
    lLoop = 0
    While Not EOF(iFileNo)
        Line Input #iFileNo, sInfoLigne ' Lit la Xième ligne du fichier
        sInfoLigne = Trim(sInfoLigne) 'supprime les espaces au début et à la fin de la ligne
        Select Case Left(sInfoLigne, InStr(sInfoLigne, Chr(32)) - 1) ' Lit le début de la ligne (Le code d'erreur)
               Case 9006, 9007, 90008
                    Do
                      sInfoLigne = Trim(sInfoLigne)
                      tabstrTableau(lLines, lLoop) = Mid(sInfoLigne, 1, InStr(sInfoLigne, Chr(32)) - 1)
                      sInfoLigne = Mid(sInfoLigne, InStr(sInfoLigne, Chr(32)) + 1)
                      lLoop = lLoop + 1
                    Loop Until InStr(sInfoLigne, Chr(32)) = 0 Or Left(sInfoLigne, 4) = '  I'
                    If Not Left(sInfoLigne, 4) = '  I' Then ' Rajouter cette partie parce que certaine ligne finissait avec '   IIII'
                       tabstrTableau(lLines, lLoop) = sInfoLigne
                    End If
                    lLines = lLines + 1
                    'If lLines = 52 Then Stop
                    lLoop = 0
        End Select
        'If la = 285 Then Stop
    Wend
    Range(Cells(1, 1), Cells(lLines + 1, 11)) = tabstrTableau
    
    'Tu pourrais rajouter ton code pour tes TCD ici ou faire autrement. A ton choix.

Next vFile
End Sub

Donne moi du feedback s.v.p.

Philippe [file name=ER_TRACK.zip size=9476]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ER_TRACK.zip[/file]

Message édité par: Hellboy, à: 05/05/2005 22:03
 

Pièces jointes

  • ER_TRACK.zip
    9.3 KB · Affichages: 16
  • ER_TRACK.zip
    9.3 KB · Affichages: 17
  • ER_TRACK.zip
    9.3 KB · Affichages: 20

KN4

XLDnaute Nouveau
Salut philipe,
Je travaille bien dans les semiconducteurs.
Comment as tu deviné??

En effet, il faut différencié le 1AOZA et le niveau de mesureCNTD-PH.
C'est à dire pour le mask 1A0ZA, on va mesuré d'autres niveaux gate-LIN-VIA........ect
Aussi il ya plein de jeu de mask 1A1UA1A0ZA....., ils ont presque tous les mêmes niveaux à mesurer;
Le truc c'est qu'ils sont différencier par la recette:

-1A0ZA/CTDR-PH-0T
-1A0ZA/CTDR-ET-0T
-1A1UA/GATE-PH-0A
1A1TA/CTDR-PH-OT

Je sais pas si tu as compris. c'est difficile à comprendre.
Je veux toutes les erreurs par recette d'ou le TCDtotal.
Puis je regarde celle qui sont bloquantes LES erreurs 9006-9007-9008
(tcd) et je les trie par rapport à ce 3 erreurs pour donner la recette qui a le plus de probleme.(TOP5)

merci encore pour ton aide.


NICO
 

Hellboy

XLDnaute Accro
Bonjour KN4

La nature de tes fichiers mon mis la puce a l'oreil pour semiconducteur. Je travail aussi dans le domaine. On s'en reparle plus tard.

Pour le moment, peut tu me dire si le fichier que je t'ai envoyer, marche ?

Aussi il faut donc mettre dans 2 champs le masque et le niveau de mesure ? ou pas nécessaire ?

Philippe
 

Hellboy

XLDnaute Accro
Bonjour

J'ai vu que j'avais une petite erreur dans mon code.


Philippe [file name=presentation_20050507051124.zip size=36668]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/presentation_20050507051124.zip[/file]
 

Pièces jointes

  • presentation_20050507051124.zip
    35.8 KB · Affichages: 14

Hellboy

XLDnaute Accro
Re bonjour

Pas le bon fichier(faitchier) ;)


Philippe [file name=ER_TRACK_20050507051609.zip size=11327]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ER_TRACK_20050507051609.zip[/file]
 

Pièces jointes

  • ER_TRACK_20050507051609.zip
    11.1 KB · Affichages: 12

Discussions similaires

Réponses
17
Affichages
806
Réponses
12
Affichages
391

Statistiques des forums

Discussions
312 555
Messages
2 089 550
Membres
104 208
dernier inscrit
laura29180