Option Explicit
Dim WbData As Workbook ' WbData = Classeur de données source
Dim WbExp As Workbook ' WbExp = Classeur destinataire
Dim ShData As Worksheet ' ShData = Feuille du classeur de données source, sélectionné sur l'userform 08
Dim ShExpP As Worksheet ' ShExpP = Feuille du classeur destinataire nommé "PARAMETRES"
Dim ShExpD As Worksheet ' ShExpD = Feuille du classeur destinataire nommé "DONNEES"
Dim mois, i&
' *********************************
Private Sub USF08_CommandButton1_Click()
Unload Me
End Sub
' ************************************
Private Sub USF08_CommandButton2_Click()
Application.ScreenUpdating = False
mois = (Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", _
"Décembre"))
For i = 1 To 12
If Me.Controls("USF08_OptionButton" & i).Value = True Then
Set ShData = WbData.Sheets(mois(i - 1))
DeverrouillerFeuille
On Error GoTo OuvrirFichier
Set ShExpP = WbExp.Sheets("PARAMETRES")
Set ShExpD = WbExp.Sheets("DONNEES")
ShExpP.Range("B2") = ShData.Range("A7")
ShExpD.Range("A4").CurrentRegion.Offset(1, 0).ClearContents
ShData.Range("A8:C" & ShData.Range("A" & Rows.Count).End(xlUp).Row).Copy
ShExpD.Range("A4").PasteSpecial xlPasteValues
ShData.Range("E8:H" & ShData.Range("A" & Rows.Count).End(xlUp).Row).Copy
ShExpD.Range("D4").PasteSpecial xlPasteValues
Exit For
End If
Next i
ShData.Copy
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\Sauvegarde Journal " & Format(i, "00") & " " & WbExp.Range("parametres!B2") & ".pdf"
ActiveWindow.Close False
WbExp.Close
Unload Me
Application.CutCopyMode = False
MsgBox "Génération du Fichier Comptable: " & Chr(13) & Chr(10) & "Etape 1: Export des données du mois exécutée à 100%!"
Workbooks.Open Filename:=ThisWorkbook.Path & "\Inventaire.xlsm"
Exit Sub
OuvrirFichier:
MsgBox "Vous devez ouvrir le fichier ''Feuille export.xlsm''", 16
Unload Me
End Sub
'*******************************************
Private Sub UserForm_Initialize()
Set WbData = ActiveWorkbook
Workbooks.Open Filename:=ThisWorkbook.Path & "\Feuille export.xlsm"
Set WbExp = ActiveWorkbook
WbData.Activate
End Sub