Bonjour,
Ah le vin... comme je suis également passionné, j'ai regardé votre fichier
En voyant le code dans votre module 1, comme votre tableau en feuille BDD est au format structuré, j'aurais divisé votre code en deux parties et écrit comme ci-dessous :
1. Code enregistrement
Sub EnregistrerFiche()
Dim lig As Integer
With Worksheets("BDD").ListObjects("Tableau1")
If .ListRows.Count = 0 Then
.ListRows.Add: lig = 1
Else: .ListRows.Add: lig = .ListRows.Count
End If
With .DataBodyRange
.Item(lig, 1) = Sheets("Fiches").Range("K2").Value
.Item(lig, 2) = Sheets("Fiches").Range("K4").Value
.Item(lig, 3) = Sheets("Fiches").Range("K2").Value & " " & Sheets("Fiches").Range("K4").Value
.Item(lig, 4) = Sheets("Fiches").Range("K3").Value
.Item(lig, 5) = Sheets("Fiches").Range("Q4").Value
.Item(lig, 6) = Sheets("Fiches").Range("Q6").Value
.Item(lig, 7) = Sheets("Fiches").Range("Q7").Value
.Item(lig, 8) = Sheets("Fiches").Range("Q8").Value
.Item(lig, 9) = Sheets("Fiches").Range("Q9").Value
.Item(lig, 10) = Sheets("Fiches").Range("Q12").Value
.Item(lig, 11) = Sheets("Fiches").Range("Q14").Value
.Item(lig, 12) = Sheets("Fiches").Range("Q15").Value
.Item(lig, 13) = Sheets("Fiches").Range("Q16").Value
.Item(lig, 14) = Sheets("Fiches").Range("Q17").Value
.Item(lig, 15) = Sheets("Fiches").Range("Q18").Value
.Item(lig, 16) = Sheets("Fiches").Range("Q19").Value
.Item(lig, 17) = Sheets("Fiches").Range("H22").Value
.Item(lig, 18) = Sheets("Fiches").Range("Q26").Value
.Item(lig, 19) = Sheets("Fiches").Range("Q30").Value
.Item(lig, 20) = Sheets("Fiches").Range("Q34").Value
.Item(lig, 21) = Sheets("Fiches").Range("Q37").Value
.Item(lig, 22) = Sheets("Fiches").Range("J39").Value
End With
End With
Sheets("Fiches").PageSetup.PrintArea = "$H$1:$P$39"
Call sauvegarde
End Sub
2. Code de sauvegarde
Sub sauvegarde()
Dim Lerep As String
'Nommer le fichier
Lerep = ThisWorkbook.Path & "\Fiches\"
On Error Resume Next
fichierexistant = GetAttr(fichier) And vbDirectory
If fichierexistant = False Then
MkDir (Lerep)
End If
With Sheets("Fiche")
.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=Lerep & .Range("K2").Value & .Range("K4").Value & ".pdf", _
quality:=xkQualityStandard, _
includedocproperties:=True, _
ignoreprintareas:=False, _
from:=1, to:=1, _
openafterpublish:=False
.Range("Q:Q, K2,K3,K4,H22,J39").ClearContents
End With
End Sub
A vous de voir bien entendu.
Je vous laisse continuer avec fcyspm
Cordialement