Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…