Extraction et traitement de données venant d'un autre fichier
Bonjour,
Je viens vers vous car j'ai quelques soucis avec mon code VBA. Actuellement, j'ai modifié ma base de données et ma macro ne s'exécute plus, ce qui me bloque pour la suite
Sujet : j'ai une machine qui mesure des données toutes les 7 secondes. A chaque mesure j'obtiens un fichier txt (composé d'une ligne avec, dans cette ligne la mention OK ou NOK qui m'intéresse). Pour chaque mesure je reçois aussi un fichier excel avec plus de détails qui me permettent de tracer une courbe de chaque mesure.
J'ai créé un code cmd qui me regroupe tous les fichiers txt en un seul , donc qui regroupe toutes les lignes dans un seul classeur, et je m'intéresse à la colonne où est inscrit a données "OK" ou "NOK". ce gros fichier txt me sert de base de données pour mon excel où se trouve mon code macro
Moi je m'intéresse au données NOK, et je veux tracer la courbe qui correspond à cette valeur NOK. Il faut donc que j'aille ouvrir le bon fichier excel concerné.
J'ai réussi à faire cela dans mon code (enfin j'avais réussi car je ne sais pas pourquoi cela ne fonctionne plus, la macro ne semble même pas s'exécuter), j'ai même réussi à copier/coller dans mon classeur les données qui m'intéressées.
j'ai peut être réussi à débloquer ma situation, mais dans ce cas j'aurais une autre question, je l reprécise après
d'avance merci,
Cordialement,
Bonjour J'ai pu résoudre mon problème, et j'arrive à faire un copier coller, par contre je n'arrive pas à la faire correctement par exemple en cellule A150 j'ai 0,97, lorsque je le copie/colle j'obtiens 0, savez vous pourquoi ?
J'aimerai ensuite copier/coller les colonnes A et B (pas uniquement la colonne A)
Sub analyse_resultat()
Dim FL1 As Worksheet, cell As Range, NoCol As Integer
Dim NoLig As Long, DerLig As Long, var1 As Variant, var2 As Variant
'attribut pour la proc?dure ouvrir fichier
Dim Fichier As String, Chemin As String
Dim Wb As Workbook
'afficher les pieces NOK
ActiveSheet.ListObjects("Synthese").Range.AutoFilter Field:=7, Criteria1:="NOK"
'Instance de la feuille qui permet d'utiliser FL1 partout dans
'le code ? la place du nom de la feuille
Set FL1 = Worksheets("Feuil1")
'D?termine la derni?re ligne renseign?e de la feuille de calculs
DerLig = Split(FL1.UsedRange.Address, "$")(4)
'Fixe le N? de la colonne ? lire
NoCol = 7
'Utilisation du N? de ligne dans une boucle For ... Next
For NoLig = 1 To DerLig
var1 = FL1.Cells(NoLig, NoCol)
'Boucle si pi?ces NOK alors on ouvre son fichier excel sinon on dit OK
If var1 = "NOK" Then
' procedure pour copier dans la cellule d?finie la date construite a partir de la colonne 1 pour les pieces NOK
Cells(NoLig, 25).FormulaR1C1 = _
"=MID(Synthese[@['@echo off]],7,4)&""-""&MID(Synthese[@['@echo off]],4,2)&""-""&MID(Synthese[@['@echo off]],1,2)&""_""&MID(Synthese[@['@echo off]],12,2)&""-""&MID(Synthese[@['@echo off]],15,2)&""-""&MID(Synthese[@['@echo off]],18,2)"
'fin de cette rpoc?dure la date a correctement ete copiee dans la celluel definie au format souhaite
'proc?dure pour copier dans une autre feuille les donnees das pieces NOK
Chemin = "C:\Users\Z601769\Desktop\test txt\CSV\"
Fichier = "Meas_C1_Kanal_1_Prg06_" & Cells(NoLig, 25) & "_.csv"
Set Wb = Workbooks.Open(Chemin & Fichier)
Range("A150").Copy ThisWorkbook.Sheets("Feuil3").Range("A1") 'modifier le nom de la feuille au besoin
Wb.Close False
Application.CutCopyMode = False
'fin proc?dure :les donn?es ont ?t? copi?es dans le nom de feuille indiqu?
'MsgBox (Cells(NoLig, 1).Value)
End If
'Pour tester : Affiche les variables dans la fen?tre Ex?cution de VBA
'Debug.Print Var
Next
Set FL1 = Nothing
End Sub
D'avance merci,
Julie