Bonsoir Libellule, bonsoir le forum,
Deux propositions avec les événementielles SelectionChange et BeforRightClick à placer dans l'onglet concerné. Tu choisiras celle qui te convient le mieux.
SelectionChange va agir dès que tu sélectionnes plus d'un seule cellule, conjointes :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Rows.Count = 1 Or Selection.Areas.Count > 1 Then Exit Sub
If MsgBox("Voulez-vous définit la sélection comme zone d'impression ?", vbYesNo, "ATTENTION !") = vbYes Then
ActiveSheet.PageSetup.PrintArea = Selection.Address
End If
End Sub
Mais ça peut devenir vite gonflant si tu dois sélectionner souvent des plages...
Dans ce cas, la macro qui agit au clic du bouton droit sera plus appropriée. Tu sélectionnes la plage que tu veux définir et tu cliques avec le bouton droit dans n'importe quelle cellule à l'intérieur de la plage sélectionné :
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Selection.Areas.Count > 1 Then Exit Sub
If MsgBox("Voulez-vous définit la sélection comme zone d'impression ?", vbYesNo, "ATTENTION !") = vbYes Then
ActiveSheet.PageSetup.PrintArea = Selection.Address
Cancel = True
End If
End Sub