[VBA] Macro pour zone d'impression Excel
Résolu
Isomer
Messages postés
44
Statut
Membre
-
Isomer Messages postés 44 Statut Membre -
Isomer Messages postés 44 Statut Membre -
Bonjour,
J'aimerais sélectionné une zone d'impression allant de 2 à 6 pages.
La page de présentation (toujours sélectionné)
+1 pages si M103 <> 0
+2 pages si M156 <> 0
+3 pages si etc...
Je souhaite que l'impression ce fasse en PDF et que l'on me demande juste l'enregistrement. Tout ça doit se faire via un bouton impression.
Voila la macro que l'on ma proposé :
Sub PrintDevis()
'Déclaration des variables
Dim Lig As Integer
'Zone impression "DEVIS"
Const Colonnes = 14 'adater au nombre de colonne
Const Ligne1 = 1 'Première ligne où commencer
Sheets("DEVIS").Select 'adapter le nom de la feuille
For Lig = Ligne1 To [C65536].End(xlUp).Row Step 52
ActiveSheet.PageSetup.PrintArea = Range(Cells(Lig, 1), Cells(Lig + 51, Colonnes)).Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next Lig
End Sub
Le problème est que cette macro :
- m'imprime chaque page dans des pdf différent
- et qu'elle m'imprime les 6 pages tout le temps
Auriez vous une solution à mon problème ?
Merci d'avance
Isomer
J'aimerais sélectionné une zone d'impression allant de 2 à 6 pages.
La page de présentation (toujours sélectionné)
+1 pages si M103 <> 0
+2 pages si M156 <> 0
+3 pages si etc...
Je souhaite que l'impression ce fasse en PDF et que l'on me demande juste l'enregistrement. Tout ça doit se faire via un bouton impression.
Voila la macro que l'on ma proposé :
Sub PrintDevis()
'Déclaration des variables
Dim Lig As Integer
'Zone impression "DEVIS"
Const Colonnes = 14 'adater au nombre de colonne
Const Ligne1 = 1 'Première ligne où commencer
Sheets("DEVIS").Select 'adapter le nom de la feuille
For Lig = Ligne1 To [C65536].End(xlUp).Row Step 52
ActiveSheet.PageSetup.PrintArea = Range(Cells(Lig, 1), Cells(Lig + 51, Colonnes)).Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next Lig
End Sub
Le problème est que cette macro :
- m'imprime chaque page dans des pdf différent
- et qu'elle m'imprime les 6 pages tout le temps
Auriez vous une solution à mon problème ?
Merci d'avance
Isomer
A voir également:
- [VBA] Macro pour zone d'impression Excel
- Spouleur d'impression - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Alternative zone telechargement - Accueil - Outils
- Liste déroulante excel - Guide
- Impression livret a5 - Guide
1 réponse
Résolu :
Sub PrintDevis()
'Déclaration des variables
Dim LigFin As Integer
'Zone impression "devis 1 2 3 4"
Const Colonnes = 14 'adater au nombre de colonne
Const Lig = 59 'Première ligne où commencer après page de garde
Sheets("DEVIS 1 2 3 4").Select 'adapter le nom de la feuille
If Cells(103, 13) <> 0 Then
LigFin = Lig + 53
ElseIf Cells(156, 13) <> 0 Then
LigFin = Lig + 106
ElseIf Cells(209, 13) <> 0 Then
LigFin = Lig + 159
ElseIf Cells(262, 13) <> 0 Then
LigFin = Lig + 212
ElseIf Cells(315, 13) <> 0 Then
LigFin = Lig + 265
End If
ActiveSheet.PageSetup.PrintArea = Range(Cells(1, 1), Cells(LigFin, Colonnes)).Address
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub