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

Bonjour le Forum, le Fil, Stample1600, tout d'abord tous mes voeux pour cette nouvelle année qui s'annonce riche en évènements, et que surtout la santé soit avec vous.
Je reviens donc à mon sujet, j'ai essayé ta nouvelles mouture mais toujours pareil il ne m'en imprime qu'une malgré le chiffre 2.
Précédemment Pierrot93, m'avait fait remarqué qu'il manquait ".value" et la ça fonctionnait sur une seule requête, ici comme je veux imprimer la totalité des 4 colonne concernées, je ne sais si je peux mettre le ".value" et où
Merci encore pour votre aide
 

Staple1600

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

Bonjour à tous

altinea
Avec le .Value, cela donne quoi ?
(je ne peux pas tester, pas d'imprimante d’où je poste)
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).Value)
'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
 

altinea

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

re, et merci, avec le .value, pour le moment ça fait pareil, c'est bien là qu eje l'avais éjà positinné, est ce que cela peut venir du fait que j'utilise en impression le PDF, car je ne fait pas les essais sur papier???
 

altinea

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

re bonjour,
je viens de faire l'essai en imprmant sur papier, il m'imprime qu'un exemplaire de chaque, là où il y a un nombre, où il y a un 0, rien ne sort normal, par contre là où j'ai 2 ou 3 ou plus seul un exemplaire est imprimé.
Merci encore
 

Staple1600

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

Re

altinea
Tu dis bien que ce code de Pierrot93 fonctionne ?
Sheets("4RM").PrintOut , Copies:=Cint(Sheets("MODOP").Range("E13").Value)

Si dans E13, il y a la valeur 3, 3 exemplaires seront imprimés?

Dans mon code , je reprends la même syntaxe, sauf que j'ai ajouté une boucle
Je ne comprends pas dans ce cas, pourquoi cela ne fonctionne pas

Pour faire mes tests, j'ai utilisé l'aperçu avant impression et un MsgBox
Code:
Sub cbis()
        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).Value)
        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)).PrintPreview
        End Select
        NbPrint = 0
        Next i
        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, ci joint le fichier avec lequel je fait les tests, peut être ai je mal repris une info
 

Pièces jointes

  • alti311213.xlsx
    18.2 KB · Affichages: 30
  • alti311213.xlsx
    18.2 KB · Affichages: 30
  • alti311213.xlsx
    18.2 KB · Affichages: 32

Staple1600

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

Re

altinea
Si c'est le même fichier que dans ce message
https://www.excel-downloads.com/thr...-de-feuilles-definis-dans-une-cellule.214835/
C'est avec celui-là que j'ai fait mes tests.

Ce que je ne comprends pas c'est que tu joins des fichiers *.xlsx (or ceci ne peuvent pas contenir de macros)

Tu testes bien les macros que je t'ai soumis sur un un fichier *.xlsm ou *.xls ?
 

altinea

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

re, oui effectivement j'ai fait les modifs mais cela ne change rien, sinon je vais essayer autrement en lançant les lignes de commandes dans la même macro, comme j'ai fait au départ à part que cela ne va pas me gerer les 0 et les cellules vides
 

Pièces jointes

  • alti311213.xls
    77.5 KB · Affichages: 26

Staple1600

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

Re

altinea
Essaies avec cette modif (ici on active la feuille à imprimer)
EDITION: j'ai ajouté de quoi prendre en compte les cellules vides en [noparse]A3:D3 [/noparse]sur la feuille 1
Code vba:
Sub prodII()
Dim NbPrint%, NomF, i As Byte
NomF = Array("prod1", "prod2", "prod3", "prod4")
For i = 0 To UBound(NomF)
With Sheets("Feuil1")
NbPrint = _
IIf(IsEmpty(.Cells(3, i + 1)), 0, _
CInt(.Cells(3, i + 1).Value))
End With
With Sheets(NomF(i))
.Activate
Select Case NbPrint
Case 0
MsgBox "Aucun exemplaire pour la feuille: " & .Name, vbCritical
Case Is > 0
.PrintOut , NbPrint
End Select
End With
NbPrint = 0
Next i
End Sub
 
Dernière édition:

altinea

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

le forum, le fil, staple1600, merci encore mais rien n'y fait, j'ai essayé en imprimant, mais toujours une seule édition.
Je te demande si tu pourrais faire plus simple en fait.
en reprennant cette ligne de commande et juste pouvoir prendre en compte, les cellules vides ou à zéro,
puis je reproduirai celle ci en mettant à jour les infos par cellules.

Sheets("prod1").PrintOut , Copies:=Sheets("Feuil1").Range("A3").Value
Sheets("prod2").PrintOut , Copies:=Sheets("Feuil1").Range("B3").Value

etc...


merci
 

Staple1600

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

Re

altinea
A tester
(PS: tu avais toutes les infos dans le fil pour générer le code ci-dessous
sans doute une tit coup de mou, après le réveillon ;) )
Code vba:
Sub prodIII()
Dim NBI%, NBII%, NBIII%, NBIV%
With Sheets("Feuil1")
NBI = IIf(IsEmpty(.Range("A3")), 0, .Range("A3").Value) 'mettre 1 à la place de 0 si tu veux
NBII = IIf(IsEmpty(.Range("B3")), 0, .Range("B3").Value) ' imprimer au minimun un exemplaire
NBIII = IIf(IsEmpty(.Range("C3")), 0, .Range("C3").Value)
NBIV = IIf(IsEmpty(.Range("D3")), 0, .Range("D3").Value)
End With
Sheets("prod1").PrintOut , Copies:=NBI
Sheets("prod2").PrintOut , Copies:=NBII
Sheets("prod3").PrintOut , Copies:=NBIII
Sheets("prod4").PrintOut , Copies:=NBIV
End Sub





En espérant que cela fonctionne enfin comme tu le souhaites ;)
 

altinea

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

re,
dès que j'ai une cellule vide ou un zéro, j'ai le message suivant :
erreur d'exécution 1004
le nombre doit etre compris entre 1 et 32767 essayer en tapant un nombre compris entre ces valeurs
 

Staple1600

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

Re


Si tu remplaces 0 par 1 (comme indiqué dans mes commentaires)
Tu imprimeras au moins un exemplaire
Tu as fait les changements adéquats avant de tester?
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg