1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| Sub Récup_données()
'Declaration des variables
Dim strCsv As String, strTemp() As String
Dim wb As Workbook, wbTemp As Workbook, shG As Worksheet, shR As Worksheet, shTemp As Worksheet
Dim I As Integer
On Error Resume Next
'Désactivation du rafraichissement d'écran
Application.ScreenUpdating = False
'Attribution des object feuilles "GOOD" et "REJECT" ainsi que du classeur
Set wb = ThisWorkbook
Set shG = wb.Sheets("GOOD")
Set shR = wb.Sheets("REJECT")
MsgBox "Selection du fichier GOOD"
'sélection du fichier "GOOD"
strCsv = Application.GetOpenFilename("All Files ,*.*", , "Sélectionner le fichier des pièces GOOD à ouvrir")
'Sortir de la procédure si "Annuler"
If strCsv = "False" Then Exit Sub
'Vider les feuilles "GOOD" et "REJECT"
shG.Cells.Delete
shR.Cells.Delete
'Ouvrir fichier "GOOD"
Workbooks.OpenText strCsv, xlWindows, 1, xlDelimited, , , True, , , , , , , , "."
'Copier contenu dans feuille "GOOD"
ActiveSheet.Cells.Copy shG.Cells(1, 1)
'Fermeture du fichier
ActiveWorkbook.Close False
'Calculer le nom du fichier "REJECT"
'On admet qu'il se trouve sous le même répertoire
strTemp = Split(strCsv, "\")
I = UBound(strTemp)
strTemp(I) = "R" & Right(strTemp(I), Len(strTemp(I)) - 1)
strCsv = strTemp(0)
For j = 1 To I
strCsv = strCsv & "\" & strTemp(j)
Next j
'Ouvrir et copier fichier "REJECT"
Workbooks.OpenText strCsv, xlWindows, 1, xlDelimited, , , True, , , , , , , , "."
ActiveSheet.Cells.Copy shR.Cells(1, 1)
ActiveWorkbook.Close False
Application.ScreenUpdating = True
Range("C5").Select
Selection.FormulaArray = "=COUNT(GOOD!C[-2])"
Range("C6").Select
Selection.FormulaArray = "=COUNT(REJECT!C[-2])"
On Error GoTo 0
End Sub |
Partager