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

re,
oui j'ai bien fait les changements et c'est pour cela que quand je change le 0 par 1, et si la cellule a3, b3,c3 ou d3 est vide ou avec un zero ça bug
 

Staple1600

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

Re


Et comme cela?
Code:
Sub prodV()
Dim NBI%, NBII%, NBIII%, NBIV%
With Sheets("Feuil1")
    NBI = IIf(IsEmpty(.Range("A3")), 1, .Range("A3").Value)
    NBII = IIf(IsEmpty(.Range("B3")), 1, .Range("B3").Value)
    NBIII = IIf(IsEmpty(.Range("C3")), 1, .Range("C3").Value)
    NBIV = IIf(IsEmpty(.Range("D3")), 1, .Range("D3").Value)
End With
Sheets("prod1").PrintOut , Copies:=IIf(NBI = 0, 1, NBI)
Sheets("prod2").PrintOut , Copies:=IIf(NBII = 0, 1, NBII)
Sheets("prod3").PrintOut , Copies:=IIf(NBIII = 0, 1, NBIII)
Sheets("prod4").PrintOut , Copies:=IIf(NBIV = 0, 1, NBIV)
End Sub
 

Staple1600

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

Re

Après réflexion, j'ai simplifié la syntaxe
(mais pas testé l'impression car toujours pas d'imprimante)
Code:
Sub prodLast()
Dim Nf, i
Nf = Array("prod1", "prod2", "prod3", "prod4")
For i = 1 To 4
If Not IsEmpty(Cells(3, i)) Or Cells(3, i) <> 0 Then
Sheets(Nf(i)).PrintOut , Copies:=Cells(3, i)
End If
Next i
End Sub
je te laisse donc tester ;)
 

altinea

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

re, désolé staple1600,
ca bug sur la ligne 6

Sub prod()
Dim Nf, i
Nf = Array("prod1", "prod2", "prod3", "prod4")
For i = 1 To 4
If Not IsEmpty(Cells(3, i)) Or Cells(3, i) <> 0 Then
Sheets(Nf(i)).PrintOut , Copies:=Cells(3, i)
End If
Next i
End Sub


Quand j'imprime, même sur imprimante ça plante direct, écoute j'ai suffisament abusé de ta patience et ta gentillesse, je vais faire autrement
 

Staple1600

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

Re


Désolé, erreur de copier/coller
Code:
Sub prodLastII()
Dim Nf, i
Nf = Array("prod1", "prod2", "prod3", "prod4")
For i = 1 To 4
If Not IsEmpty(Sheets("Feuil1").Cells(3, i)) Or Sheets("Feuil1").Cells(3, i) <> 0 Then
Sheets(Nf(i - 1)).PrintOut , Copies:=Sheets("Feuil1").Cells(3, i)
End If
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

Bonsoir, merci beaucoup Staple1600, mais ça ne veux pas donner, donc pas grave merci beaucoup pour t apatience et ta disponibilité, bonne soirée à toi
 

Staple1600

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

Re

altinea
Scrogneugneu! je ne laisse jamais VBA avoir le dernier mot ;)
Donc dés que j'aurai une imprimante sous le coude, je trouverai le fin mot de l'histoire.
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 293
Membres
103 171
dernier inscrit
clemm