[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