XL 2013 comment simplifier macro impression avec une variable ?

dilank

XLDnaute Junior
Bonjour à tous,

je pense que l'on peut faire quelque chose de plus simple et rapide ... car je dois faire plusieurs macro de ce type et avec des données différentes en Q5 pour chaque classeur.

J'ai cette macro pour imprimer une feuille.

Sub Impression ()

Sheets("feuil1").Activate
Range("Q5").Select
ActiveCell.FormulaR1C1 = "14"
Range("Q6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("Q5").Select
ActiveCell.FormulaR1C1 = "15"
Range("Q6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("Q5").Select
ActiveCell.FormulaR1C1 = "20"
Range("Q6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("Q5").Select
ActiveCell.FormulaR1C1 = "201"
Range("Q6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("Q5").Select
ActiveCell.FormulaR1C1 = "807"
Range("Q6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("Q5").Select
ActiveCell.FormulaR1C1 = "810"
Range("Q6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("Q5").Select
ActiveCell.FormulaR1C1 = "1553"
Range("Q6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1

End Sub

peux t on simplifier cette macro ?

La macro change la donnée en Q5, ex : 14, la feuille s'imprime, puis elle rechange la donnée Q5 en "15" s'imprime etc...

Merci pour votre aide.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Bonjour dilank,

avec ce code:

Code:
Sub imprimer()
Sheets("feuil1").Activate
a = Array(14, 15, 20, 201, 807, 810, 1553)
For i = 0 To 6
[Q5] = a(i)
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next i
End Sub

à+
Philippe
 
Dernière édition:

Statistiques des forums

Discussions
315 105
Messages
2 116 254
Membres
112 702
dernier inscrit
JRCa91