imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

altinea

XLDnaute Accro
bonjour, je recherche comment pouvoir imprimer un nombre "x" de feuilles du document
figurant sur une feuille excel.

sub print()
Sheets("Feuil2").PrintOut
Copies=Sheets("Feuil1").Range("A1")
end sub

en utilisant cette macro, il ne m'imprime qu'un exemplaire de la feuil2, alors que j'ai mis 5 dans la cellule A1 de la Feuil1.
Pouvez vous m'aider o solutionner la macro merci
 
Dernière édition:

altinea

XLDnaute Accro
Re : imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

Bonsoir le forum, Pierrot93,
j'ai bien fait les modifs, mais cela ne change rien il ne m'imprime qu'un exemplaire

Voici en fait le bonne macro, cela ne change rien avec la macro que j'avais choisi :
Sub QUATRERM()
Sheets("4RM").PrintOut , Copies:=Sheets("MODOP").Range("E13")
End Sub


par contre, dans la cellule E13, le résultat est issue d'une formule qui est dans celle cellule, serait ce là le souci?
merci
 

altinea

XLDnaute Accro
Re : imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

Bonsoir le forum, le fil, avant de finir cette année j'ai une question, des fois que quelques uns d'entre vous soient comme moi loin de fêter cette fin d'année.
Ci joint le fichier permettant de comprendre ma question.
Je souhaiterai imprimer autant de fois qu'indiqué dans la cellule de référence la feuille désignée, ma macro plante si j'ai un zéro ou rien comment éviter ce bug merci
Bonne et heureuse année à vous tous
 

Pièces jointes

  • alti311213.xlsx
    17.1 KB · Affichages: 49
  • alti311213.xlsx
    17.1 KB · Affichages: 51
  • alti311213.xlsx
    17.1 KB · Affichages: 45

Staple1600

XLDnaute Barbatruc
Re : imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

Bonsoir à tous


A tester
Code:
Sheets("4RM").PrintOut , Copies:=IIF(Sheets("MODOP").Range("E13").Value>0,CInt(Sheets("MODOP").Range("E13").Value),1)

PS: La dernière PJ que tu as jointe est [B*.xlsx[/B] donc pas de macro inside ;)
 
Dernière édition:

altinea

XLDnaute Accro
Re : imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

Bonsoir, le forum, Staple1600, cela ne fonctionne pas malgré le 0 il imprime un exemplaire, dejà ça bug pas mais je voudrai que s'il y a un 0 il n'imprime rien
Merci encore
 

Staple1600

XLDnaute Barbatruc
Re : imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

Re


Alors essayons avec un Select case
Code:
Sub a()
Dim NbPrint%
NbPrint = CInt(Sheets("MODOP").Range("E13").Value)
Select Case NbPrint
Case 0
MsgBox "Aucune impression", vbCritical
Case Is > 0
Sheets("4RM").PrintOut , NbPrint
End Select
End Sub
 
Dernière édition:

altinea

XLDnaute Accro
Re : imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

re, merci pour cela ça fonctionne, par contre j'avais 3 autres documents à imprimer et le nombre est different, comme indqué dans le fichier, si tu as une solution merci, ou est ce que si je reproduis le meme code dans la macro pour chauqe document cela peut il marcher merci
 

Staple1600

XLDnaute Barbatruc
Re : imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

Re

Essaies avec ces modifs
Code:
Sub b()
Dim NbPrint%, NomF, i As Byte
NomF = Array("prod1", "prod2", "prod3", "prod4")
For i = 0 To UBound(NomF)
NbPrint = CInt(Sheets("Feuil1").Cells(3, i + 1))
Select Case NbPrint
Case 0
MsgBox "Aucune exemplaire pour la feuille: " & Sheets(NomF(i)).Name, vbCritical
Case Is > 0
Sheets(NomF(i)).PrintOut , NbPrint
End Select
Next i
End Sub

PS: test OK avec ta dernière PJ.
 

altinea

XLDnaute Accro
Re : imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

re, merci staple1600, ça fonctionne, pour les zéro par contre il ne m'imprime qu'un exemplaire meme s'il y en a 2 ou plus d'inscrits dans la cellule
merci
 

Staple1600

XLDnaute Barbatruc
Re : imprimer à partri d'une macro, un nombre x de feuilles définis dans une cellule

Re


Et comme ceci?
Code:
Sub c()
Dim NbPrint%, NomF, i As Byte
NomF = Array("prod1", "prod2", "prod3", "prod4")
For i = 0 To UBound(NomF)
NbPrint = CInt(Sheets("Feuil1").Cells(3, i + 1))
'MsgBox NbPrint 'pour test
Select Case NbPrint
Case 0
MsgBox "Aucune exemplaire pour la feuille: " & Sheets(NomF(i)).Name, vbCritical
Case Is > 0
Sheets(NomF(i)).PrintOut , NbPrint
End Select
NbPrint = 0
Next i
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 338
Membres
103 192
dernier inscrit
Corpdacier