Inprimer une page en fonction d'une case

Bonjour

j'ai un problème avec mon code bva j'explique:

sur la case X16 = 0 alors on passe de page (j'ai déjà fait cette partie du code)

sur la case X16 = 1 alors on imprime la page 1 de la feuille (j'ai déjà fait cette partie du code)

et si X16>1 je voudrais qu'il imprime le nombre de page, l'une après l'autre, et toute dans le même PDF .

Mais je n'arrive pas a lui dire de faire l'impression si X16>1 (soit il m'imprime que la page 2 ou tout les page de la feuille sur le même Excel)

le voici le code de cette partie, quand X16=2(c'est pas l'idéal mais je ne sais pas faire avec X16>1) le problème c'est qu'il efface la première sélection

            ' Vérification de la valeur de X16 dans la feuille "feuilleh..."
            If ws.Range("X16").Value = 1 Then
                ' Plage de A1 à J55 pour X16 = 1
                ws.PageSetup.PrintArea = "A1:J55"
                plageImpression = "A1:J55" ' Ajouter cette plage à imprimer
            ElseIf ws.Range("X16").Value = 2 Then
                ' Plage de A1 à J55 et A56:J108 pour X16 = 2
                ws.PageSetup.PrintArea = "A1:J55"
                plageImpression = "A1:J55" ' Ajouter cette plage à imprimer
                ' Ajouter la plage A56:J108 à imprimer
                ws.PageSetup.PrintArea = plageImpression & ",A56:J108"
            End If

merci d'avance

Bonjour Tinayli,

Ce code peut-être :

   ws.Range("A1:J55").PrintOut Copies:=ws.Range("X16"), Collate:=False

Bonjour

merci pour la réponse

alors j'ai essayé de mettre la ligne dans le programme ou de changer tout la partie par celle la mais cas na pas fonctionner il me dit qu'il y a une erreur dans le programme.

est ce que tu peut me dire si je doit remplacer tout par cette ligne ou tout simplement la ranger quelque part?

Re,

Alors normalement, il faut remplacer tout le code. Mon code lance l'impression immédiatement

Mais je ne connais pas le reste de votre code, quelle est exactement l'erreur, ni sur quelle instruction l'erreur est détectée.

Re,

En fait j'ai oublié de tester X16, essayez :

If f.[x16].Value > 0 Then f.Range("A1:J55").PrintOut Copies:=f.Range("X16").Value, Collate:=False

bonjour

ça ne marche toujours pas je vous envoi l'Excel si vous pouvez le mettre, je n'arrive pas à voir ou mettre le code

merci

Rechercher des sujets similaires à "inprimer page fonction case"