Impression par macro_nbre de copies par fiche

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonsoir Le Forum,

Grâce au Forum j’ai pu mettre en place une macro me permettant de définir la partie à imprimer à partir du pavé de données.

J'indique la borne des n° à imprimer pour une fiche prédéfinie sur la même feuille, près des données.
Après chaque impression de fiche la matrice place les données extraites pour le numéro suivant,
et ainsi de suite jusqu'au bout de la borne.
Minimum 1 pour le début, 62 pour la fin.

Les explications sont dans le fichier simplifié ci-joint (avec la macro en place).
Dans mon fichier d’origine, trop gros pour être placé ici, cela fonctionne bien.

Cette macro n'imprime qu'un exemplaire de chaque fiche demandée.
Je voudrais y intégrer une nouvelle particularité : le nombre d’impressions par fiche demandée à l’impression au niveau de la colonne Q. j’ai en effet prédéfini le nombre de copies à imprimer pour chaque ligne de saisie.

Commet intégrer cette fonction nouvelle ?
Ça devrait se placer au niveau de :
ActiveWindow.SelectedSheets.PrintOut Copies:=1 ‘la solution serai-t-elle avec la valeur Dim étiq ?
Mais je ne sais pas comment le définir correctement.
Merci de me venir en aide,
Webperegrino
 

Pièces jointes

  • Impression par macro_nbre de copies par fiche.xls
    46.5 KB · Affichages: 35

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Impression par macro_nbre de copies par fiche

Bonjour Webperegrino,

essaie avec ceci:
Code:
Sub IMPRFICHSPECT()
Application.EnableEvents = False
Application.ScreenUpdating = False
Sheets("Base Prog").Select
Dim n 'le n° de départ d'impression, indiqué en colonne C (de 1 à 62)
Dim m 'le n° de fin d'impression, indiqué en colonne C (de 1 à 62)
Dim exempl ' le nombre d'exemplaires à imprimer
'********
Dim étiq 'le nombre d'étiquettes demandées, indiqué en colonne Q
'********

n = Range("T2").Value
m = Range("V2").Value + 1
If n > m Then
   MsgBox "Les valeurs doivent être croissantes", vbInformation, "Mauvais ordre des valeurs"
   Exit Sub
   Else
   Do While n < m
   Range("T10").Value = n
   exempl = Cells(n + 1, 17).Value
            ActiveWindow.SelectedSheets.PrintOut Copies:=exempl
            n = n + 1
            Loop
        End If
Application.ScreenUpdating = True
Application.EnableEvents = True
Range("S73").Select
End Sub

à+
Philippe
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Impression par macro_nbre de copies par fiche

Bonjour Le Forum,
Bonjour phlaurent55, et merci pour ta solution que je vais étudier,

Une autre approche m’est arrivée au petit matin, en fin de sommeil…
J’ai mis :
- en cellule S9 : =RECHERCHEV($T$10;$C$2:$Q$62;15)
- dans la macro l’ordre d’impression suivant :
Sub IMPRFICHSPECT()
… /…
Do While n < m
T = Range("S9").Value 'le nombre de copies demandé pour chaque ficheActiveWindow.SelectedSheets.PrintOut Copies:=T
n = n + 1
…/…

Webperegrino
 
Dernière édition:

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Impression par macro_nbre de copies par fiche

Le Forum,
Phlaurent55,
J'adopte ta solution qui est bonne aussi.
Une des deux applications ne semble pas plus rapide que l'autre.
C'est tout bon !
Ci-joint le fichier adapté, pour toute personne intéressée par le principe.
Cordialement à vous tous,
Webperegrino
 

Pièces jointes

  • Impression_nbre de copies par fiche(2).xls
    33 KB · Affichages: 37

Discussions similaires

Réponses
4
Affichages
367

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 518
dernier inscrit
hbenaoun63