Impressions multiples en fonction de la valeur de cellules

Ju -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour a tous,

Je souhaite realiser une macro me permettant d'imprimer automatiquement les feuilles de mon classeur. Cependant le nombre de copies de chaque feuilles varie, il faudrait donc que je puisse rentrer le nombre de copies de chaque feuille que je desire et imprimer tout d'un coup. Est ce possible? Si oui est ce que quelqu'un aurait une idee de comment faire?

Merci d'avance pour votre aide,

Ju





2 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

Pense à utiliser l'enregistreur de de macro...
Ce qui donne :
ActiveWorkbook.PrintOut Copies:=2

Tu as juste à remplacer le 2 par la référence de ta cellule (ou bien utiliser inputbox).

eric

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
0
Ju
 
Merci de ta reponse, j'ai utilise l'enregistreur et j'ai reussis a faire quelaue chose qui fonctionne:

a = 1
Sheets("RecapSheet").Select
nb = Range("F3").Value

Sheets("MySheet").Select
If nb <> 0 Then
Do While a <= nb
ActiveSheet.PrintOut copies:=1
a = a + 1
Loop
End If
Sheets("Print sheet").Select

Bye,

Julie
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

pourquoi faire une boucle alors que tu peux mettre le nombre d'exemplaires voulus dans copies:= ?
Et tu n'as pas besoin d'activer une feuille pour y récupérer une valeur :
nb = Sheets("RecapSheet").Range("F3").Value
suffit.

eric
0
Ju
 
Simplement parce que ca ne marchait pas avec une variable (Ce n'ai qu'un morceau de ma Sub, j'ai une 50aine de feuilles a imprimer avec des nombres de copies qui varient) du coup j'ai fais comme je pouvais vu que je suis debutante. Ok merci, je pensais qu'il fallait activer.

Merci pour tes reponses
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Aucune raison que ça ne fonctionne pas :
Dim nb As Long
nb = Sheets("RecapSheet").Range("F3").Value
ActiveSheet.PrintOut copies:=nb

ou même sans variable, en une seule ligne :
ActiveSheet.PrintOut copies:=Sheets("RecapSheet").Range("F3").Value

eric
0
Toto
 
bonjour Eric

Dsl Ju pour m'incruster de cette façon. Je recherche de l'aide Eric serais t'il possible pour vous de jetez un oeil sur ma question si cela ne vous dérange pas?

https://forums.commentcamarche.net/forum/affich-29990263-chercher-une-valeur

Merci d'avance
0
Ju
 
Ok merci pour le temps passer a m'aider.
Hum... Et est ce que c'est possible de d'imprimer une page d'un autre classeur avec cette commande?

En fait je voudrais que ma macro n'imprime non plus des feuilles du classeur mes des feuilles dans des classeur ouvert via des liens dans IE.
J'arrive a ouvrir un fichier via un lien dans IE mais si j'ai des instructions apres celle qui ouvre le classeur celui ci ne s'ouvre plus.


Sheets("RecapSheet").Select
nb = Range("F3").Value
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True

IE.navigate "https://Lien/MonFichier.xls"
'Si j'arrete la ca ouvre bel et bien mon classeur mais Si je rajoute une instruction d'impression de la feuille active, cela n'ouvre plus la feuille..
Set Wb = Workbooks("MonFichier")
'La ca plante, mon instruction est fausse
Wb.Activate
If nb <> 0 Then
ActiveSheet.PrintOut copies:=Sheets("RecapSheet").Range("F3").Value
'Il doit manquer quelque chose ici aussi pour dire que ce n'est pas le meme classeur mais de toute facon ca plante avant
End If
0