Option Explicit
Sub Imp_envelop_com()
Dim InputNombre As Integer
Dim Bad As Byte
Dim WSEnveloppe As Worksheet
Dim WSNouvBase As Worksheet
Dim i As Byte
With ThisWorkbook
Set WSEnveloppe = .Worksheets('Enveloppe_com')
Set WSNouvBase = .Worksheets('Nouv. base')
End With
Start:
InputNombre = Application.InputBox('Combien d'enveloppes veux-tu imprimer en une fois ?' & vbCrLf & _
'maximum 20, minimum 1', 'Nombre d'Enveloppes', Type:=1)
If InputNombre < 1 Or InputNombre > 20 Then
Bad = MsgBox('La valeur doit être comprise entre 1 et 20' & vbCrLf & _
'Voulez vous continuer ?', vbCritical + vbYesNo)
If Bad = vbNo Then
Exit Sub
Else
GoTo Start
End If
End If
WSEnveloppe.Range('L11').Value = InputNombre 'sur quelle feuille ?
For i = 1 To InputNombre
WSEnveloppe.PrintOut
With WSNouvBase
.Range('A4:H4').Copy .Range('A1251')
.Range('A5:H1251').Copy .Range('A4')
End With
Next i
End Sub