Public CheminDuFichierDonnées As String
Public NomDuFichierSynthèse As String
Public NomDuFichierCtrl As String
Public Lg As Long
Sub Export_synthese()
CheminDuFichierDonnées = Range("FeuilleDeTravail!A4").Value
NomDuFichierSynthèse = Range("FeuilleDeTravail!A8").Value
NomDuFichierCtrl = Range("FeuilleDeTravail!A10").Value
Application.ScreenUpdating = False
If Sheets("Bilan").Cells(3, 1).Value = "" Then
MsgBox ("Vous devez sélectionner une matière première et faire un contrôle pour valider les résultats"), vbCritical, "Erreur"
End
Else
Workbooks.Open Filename:=CheminDuFichierDonnées & NomDuFichierSynthèse
Verif
Workbooks(NomDuFichierCtrl).Sheets("Bilan").Activate
Sheets("Bilan").Range("A3:AN3").Select
Selection.Copy
Workbooks(NomDuFichierSynthèse).Sheets("Synthèse").Activate
Range("A" & Lg).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks(NomDuFichierSynthèse).Close savechanges:=True
End If
Workbooks(NomDuFichierCtrl).Sheets("MP et Négoce").Activate
Application.ScreenUpdating = True
MsgBox ("Résultats enregistrés dans le fichier " & NomDuFichierSynthèse), vbInformation, "Validation des résultats"
End Sub
Sub Verif()
Dim CodeArt
Dim Cel As Range
Dim Ver(2 To 8) As Boolean
CodeArt = Workbooks(NomDuFichierCtrl).Sheets("Bilan").Range("B3")
With Workbooks(NomDuFichierSynthèse).Sheets("Synthèse")
For Each Cel In .Range("B:B").SpecialCells(xlCellTypeConstants)
Select Case Cel.Value
Case Is = CodeArt
For c = 3 To 8
If .Cells(Cel.Row, c) = Workbooks(NomDuFichierCtrl).Sheets("Bilan").Cells(3, c) Then Ver(c) = True Else Ver(c) = False
'MsgBox (.Cells(Cel.Row, c) & " = " & Workbooks(NomDuFichierCtrl).Sheets("Bilan").Cells(3, c) & " = " & Ver(c)), vbInformation, info
Next
Ver(2) = Ver(3) * Ver(4) * Ver(5) * Ver(6) * Ver(7) * Ver(8)
'MsgBox (Ver(2)), vbInformation, info
If Ver(2) = True Then
Select Case MsgBox("Souhaitez vous remplacer les résultats du contrôle suivant:" & Chr(10) & _
" " & Chr(10) & _
"Code Produit: " & Cel.Value & Chr(10) & _
"Produit: " & Cel.Offset(0, 2).Value & Chr(10) & _
"Fournisseur: " & Cel.Offset(0, 1).Value & Chr(10) & _
"N°Lot: " & Cel.Offset(0, 3).Value & Chr(10) & _
"Multiple: " & Cel.Offset(0, 4).Value & Chr(10) & _
"DLUO: " & Cel.Offset(0, 5).Value & Chr(10) & _
"Date Réception: " & Cel.Offset(0, 6), vbOKCancel, "Contrôle déjà validé...")
Case vbCancel
Workbooks(NomDuFichierSynthèse).Close savechanges:=False
End
Case vbOK
Lg = Cel.Row
Exit Sub
End Select
End If
Case Else
End Select
Next
Lg = Sheets("Synthèse").Range("A65536").End(xlUp).Row + 1
End With
End Sub