Bonjour,
Suite à l'aide d'Hasco sur ce forum par le biais de cette macro qui fonctionne très bien, je souhaiterais ajouter une fonctionnalité à cette macro :
référence du topic :
https://www.excel-downloads.com/threads/generer-des-fichiers-textes-avec-criteres.212350/
Macro de Hasco :
Cette macro avait pour but de générer des fichiers textes dans le dossier C:\TEMP\ par type de dossier et analyse.
En fait, mon fichier brut a changé de forme.
Il y a une nouvelle ligne avec 2 intitulés en dessous de chaque analyse Conc [g] et Conc PMD.
Ce qui donne :
ANALYSE P
Conc [G] - Conc PMD
valeur 1 - valeur 2
Je voudrais que les fichiers textes générés ne reprennent que les valeurs qui sont sous la colonne Conc [g].
Les numéros A.2013.X sont déplacés en colonne G (là je suppose qu'on a juste a changer :
par
?
Merci d'avance de votre aide.
Elo
Suite à l'aide d'Hasco sur ce forum par le biais de cette macro qui fonctionne très bien, je souhaiterais ajouter une fonctionnalité à cette macro :
référence du topic :
https://www.excel-downloads.com/threads/generer-des-fichiers-textes-avec-criteres.212350/
Macro de Hasco :
Code:
Sub CreationFichiersTexte()
Dim rng As Range, r As Range, plgAnalyses As Range, a As Range
Dim f As Integer, first As Boolean, idx As Integer
Dim ligne As String
'déterminer la plage des données
With Sheets("Sheet1").Range("A1").CurrentRegion
If .Rows.Count > 2 Then
Set rng = .Offset(2).Resize(.Rows.Count - 2)
Else
MsgBox "aucune donnée à traiter n'a été trouvé!"
Exit Sub
End If
End With
'Pour chaque ligne dans la plage des données
For Each r In rng.Rows
'Si la première cellule commence par une Lette, un point,4 chiffres, un point
If r.Cells(1, 1) Like "[A-Z].####.#*" Then
'déterminer s'il existe des analyse à enregistrer
On Error Resume Next
Set plgAnalyses = r.Offset(, 3).Resize(, r.Columns.Count - 3).SpecialCells(xlCellTypeConstants)
On Error GoTo 0
If Not plgAnalyses Is Nothing Then
'ouvrir un fichier
f = FreeFile()
idx = idx + 1
Open ThisWorkbook.Path & "\PHARMA_" & Format(Now, "yyyymmdd_hhmmss") & "_" & idx & ".txt" For Append As #f
Print #f, "LABORATOIRE;"
Print #f, r.Cells(1, 1)
first = True 'il faut ecrire PHARMA
For Each a In plgAnalyses.Cells
If a.Value <> "" Then
ligne = "ANALYSE " & a.Column - 3 & ";" & a.Text & ";"
If first Then ligne = "PHARMA;" & ligne
Print #f, ligne
first = False
End If
Next
End If
Print #f, "END;"
Close #f
End If
Next
End Sub
Cette macro avait pour but de générer des fichiers textes dans le dossier C:\TEMP\ par type de dossier et analyse.
En fait, mon fichier brut a changé de forme.
Il y a une nouvelle ligne avec 2 intitulés en dessous de chaque analyse Conc [g] et Conc PMD.
Ce qui donne :
ANALYSE P
Conc [G] - Conc PMD
valeur 1 - valeur 2
Je voudrais que les fichiers textes générés ne reprennent que les valeurs qui sont sous la colonne Conc [g].
Les numéros A.2013.X sont déplacés en colonne G (là je suppose qu'on a juste a changer :
Code:
If r.Cells(1, 1) Like "[A-Z].####.#*" Then
Code:
If r.Cells(1, 7) Like "[A-Z].####.#*" Then
Merci d'avance de votre aide.
Elo
Pièces jointes
Dernière édition: