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:

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87