Sub Tirage()
Dim Wsh As Worksheet, NomPlage As String, RngSrc As Range, RngCbl As Range, N As Byte
Set Wsh = ThisWorkbook.Worksheets.Add
Wsh.Name = Format(Date, "dd-mm-yyyy")
Set RngCbl = Wsh.[A1]
Randomize
With New ListeAléat
.Init 85
For N = 1 To 45
NomPlage = "Question" & Format(.Aléat(N), "00")
On Error Resume Next
Set RngSrc = Feuil1.Range(NomPlage)
If Err Then MsgBox " Plage """ & NomPlage & """ inaccessible.", vbCritical, "Tirage": Exit Sub
On Error GoTo 0
RngSrc.Copy Destination:=RngCbl
Set RngCbl = RngCbl.Offset(RngSrc.Rows.Count)
RngCbl.Resize(, 2).ClearContents
Set RngCbl = RngCbl.Offset(1)
Next N
End With
RngCbl.Resize(50, 2).ClearContents
End Sub