Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Sinon, il faut savoir que la zone d'impression sur Excel est en fait un nom (voir dans Insertion - Nom - Définir : Zone_d_impression)
Il "suffirait" d'avoir une macro qui définirait la 1ère zone, l'imprimerait, puis la 2ème et l'imprimerait à son tour. Je ne suis pas du tout un spécialiste macro, mais avec l'enregistreur, ça doit pas être trop compliqué.
S'il s'agit d'imprimer sur la même feuille, voir avec l'icône Appareil photo (dans la barre d'Outils Outils).
Si problème persiste, reviens avec plus de détails.
Surement plein de possibilités, dont la mienne, très "mac gyver" :
- à l'aide de l'enregistreur de macros
- définir la première zone, faire imprimer
- définir la deuxième zone, faire imprimer
- arrêter l'enregistrement, ca donne ceci :
Code:
Sub Impressions2()
'
' Impressions2 Macro
' Macro enregistrée le 17/11/2007 par xxxx'
'
Range("A2:B4").Select
ActiveSheet.PageSetup.PrintArea = "$A$2:$B$4"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("A14:F17").Select
ActiveSheet.PageSetup.PrintArea = "$A$14:$F$17"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub
A adapter pour les plages, à copier/coller dans un module (ALT F11 dans ton doc).
Puis mettre un bouton dans ta feuille, y affecter ta macro, puis quand tu appuieras dessus, ca marchera... Ceci dit, attention, si tu modifies tes plages, à modifier ta macro (ou à créer des choses à imprimer à l'intérieur des plages déjà définies). Et également, ca suppose deux impressions l'une après l'autre donc pas sur la même feuille...
Bon courage
Edit: coucou Tibo, même idée on dirait, ca me fait plaisir, pour une fois que je dis pas une trop grosse bêtise.
possible aussi par macro événementielle, avec l'événement "BeforePrint" du classeur, le code ci dessous, à placer dans le module "ThisWorkbook", se déclenchera automatiquement à chaque impression demandée, donc pour autre plage le désactiver. Imprime successivement les plages définies par la variable "plages".
Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim plages As Variant, i As Byte
Application.EnableEvents = False
plages = Array(Sheets(1).Range("A1:E10"), Sheets(2).Range("F1:J10"))
For i = LBound(plages) To UBound(plages)
With ActiveSheet.PageSetup
.PrintArea = plages(i).Address
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveSheet.PrintPreview 'Previsualisation, à remplacer par ActiveSheet.PrintOut pour impression
Next i
Cancel = True
Application.EnableEvents = True
End Sub
bonne journée
@+
Edition : aarf bonjour Brigitte, désolé je ne t'avais pas vu, jai pas raffraichi, suis vraiment trop lent.
Bonjour à vous et merci, je me doutais bien que la solution était par macro.
Dommage qu'Excel--même sous 2007--n'ait pas prévu ce cas de multi impressions (bien 2 feuilles en suivant)
merci
Bon samedi
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.