Bonsoir Oli,
voici, non testé cette fois-ci...
Le choix du certificat simple ou double est à préciser à côté du bouton de commande d'impression.
Tu avais remarqué, j'imagine, que j'avais supprimé le format 'Pourcentage' pour appliquer un format 'Standard' à ta colonne Résultats.
On est de Liège ou pas, hein?
Private Sub cmdGO_Click()
'
Dim sWk1 As Worksheet
'
Set sWk1 = Worksheets("Résultats")
iRow = Range("A" & Rows.Count).End(xlUp).Row
iIdx = IIf(Range("C1").Font.Bold = True, 1, 2)
'
Application.ScreenUpdating = False
Worksheets(IIf(iIdx = 1, "Certificat", "Certificats")).Activate
'
With ActiveSheet
For x = 4 To iRow
If sWk1.Cells(x, 9) <> "" Then
iOK = iOK + 1
.Cells(IIf(iOK = 2, 33, IIf(iIdx = 1, 19, 10)), 1) = sWk1.Cells(x, 10)
.Cells(IIf(iOK = 2, 37, IIf(iIdx = 1, 25, 14)), 1) = sWk1.Cells(x, 3)
.Cells(IIf(iOK = 2, 39, IIf(iIdx = 1, 30, 16)), 1) = sWk1.Cells(x, 1)
.Cells(IIf(iOK = 2, 41, IIf(iIdx = 1, 33, 18)), 1) = IIf(IsNumeric(sWk1.Cells(x, 9)), "Avec: " & Format(sWk1.Cells(x, 9), "00.00") & "%", "Note: " & sWk1.Cells(x, 9))
End If
If (x = iRow And iOK > 0) Or (iOK = 1 And iIdx = 1) Or (iOK = 2 And iIdx = 2) Then
iOK = 0
With ActiveSheet.PageSetup
.PrintArea = "A1:A" & IIf(iIdx = 1, 42, 45)
.Zoom = False
.PaperSize = xlPaperA4
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveSheet.PrintPreview 'OU ActiveSheet.PrintOut
.Cells(33, 1) = ""
.Cells(37, 1) = ""
.Cells(39, 1) = ""
.Cells(41, 1) = ""
End If
Next
End With
'
Worksheets("Résultats").Activate
Application.ScreenUpdating = True
'
End Sub
A+