Bonjour,
le souci vient de cette ligne de code:
MaFeuille.Range("A11:I31" & NbLigne).Select
Même si on précise la feuille de la plage à sélectionner, Excel ne peut pas sélectionner une plage qui n'est pas dans la feuille active, ça renverra une erreur, il faut donc d'abord sélectionner la feuille "Mail" puis sélectionner la plage.
donc:
MaFeuille.Select
Sinon à voir si on peut passer par autre chose que de la sélection en faisant comme ça:
'Avec l'object Mail
ActiveWorkbook.EnvelopeVisible = True
With MaFeuille.Range("A11:I31" & NbLigne).Parent.MailEnvelope
With .Item
.To = MaFeuille.Range("B8").Value
.Subject = MaFeuille.Range("B7").Value
.Send
End With
End With
En remplaçant Selection directement par la plage qu'on voulait sélectionner.