Autres Impression simultanée de plusieurs fiches suivant une liste déroulante

mcc1210

XLDnaute Nouveau
Bonjour
Je cherche à imprimer des fiches de suivi de fabrication obtenues grâce à une liste déroulante (N5) sur une feuille d'un fichier excel (feuille FS) :
- Une fiche par pièce, avec un numéro et des dimensions différentes (qui se mettent à jour en cliquant sur la liste déroulante)
- Impression de toutes les fiches en un seul clic.

Pas moyen d'adapter les solutions VBA proposées sur le forum.
Une âme compatissante peut-elle m'aider à programmer une macro.
 

Pièces jointes

  • test.xlsx
    55.5 KB · Affichages: 30

fanch55

XLDnaute Barbatruc
Je vous avouerai que je ne sais pas quoi en faire.
Vous appuyez sur l'image imprimante et vous imprimez quoi ?
les 4 pages ?
dans un même fichier pdf ?
En fait ce n'est pas une impression mais un export dans un fichier Pdf ...
 
Dernière édition:

kamal.elkakiri

XLDnaute Nouveau
Excusez moi car le code n'était pas intégré au fichier précédent.
Regardez maintenant.
EN cliquant sur imprimer, le fichier vous propose de sélectionner les pages que vous souhaitiez imprimer.
Sélectionner deux au hasard et vous verrez que en cliquant sur OK, il va vous proposer d’enregistrer les pages en pdf séparément.
La question est comment faire pour enregistrer les deux pages en pdf et dans le même fichier ?
 

Pièces jointes

  • TEST impression.xlsx
    96.3 KB · Affichages: 10

kamal.elkakiri

XLDnaute Nouveau
J'en ai créé une bien évidement


 

fanch55

XLDnaute Barbatruc
D'une part, c'est le même fichier sans macro .
D'autre part, ce n'est plus une impression ( ça a le gout et la couleur;, mais non ),
c'est une exportation ( à moins d'utiliser l'imprimante Pdf Creator et de tout fusionner dans celle-ci ).

Mais c'est possible et plus facile par Excel .
Je vous remercie de ne pas m'avoir délaissé et d'avoir créé une nouvelle discussion.
Je pense que Job75 vous répondra avec brio ( ou tout seul ;) ).

Je vous souhaite une bonne soirée et ne manquerai pas de suivre l'autre fil ...
 

kamal.elkakiri

XLDnaute Nouveau
D'une part, c'est le même fichier sans macro .
D'autre part, ce n'est plus une impression ( ça a le gout et la couleur;, mais non ),
c'est une exportation ( à moins d'utiliser l'imprimante Pdf Creator et de tout fusionner dans celle-ci ).

Mais c'est possible et plus facile par Excel .
Je vous remercie de ne pas m'avoir délaissé et d'avoir créé une nouvelle discussion.
Je pense que Job75 vous répondra avec brio ( ou tout seul ;) ).

Je vous souhaite une bonne soirée et ne manquerai pas de suivre l'autre fil ...

j'ai bien Evidemment rajouté le code mais il s'efface tout seul!!!! comment est ce possible?

le code dont je parles est celui ci et la fenêtre du choix des pages est ci joint

Dim i As Integer
Dim TopPos As Integer
Dim SheetCount As Integer
Dim PrintDlg As DialogSheet
Dim CurrentSheet As Worksheet
Dim cb As CheckBox
Application.ScreenUpdating = False

' Check for protected workbook
If ActiveWorkbook.ProtectStructure Then
MsgBox "Le classeur est protégé.", vbCritical
Exit Sub
End If

' Add a temporary dialog sheet
Set CurrentSheet = ActiveSheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add

SheetCount = 0

' Add the checkboxes

TopPos = 40
For i = 1 To ActiveWorkbook.Worksheets.Count
Set CurrentSheet = ActiveWorkbook.Worksheets(i)
' Skip empty sheets and hidden sheets
If Application.CountA(CurrentSheet.Cells) <> 0 And _
CurrentSheet.Visible Then
SheetCount = SheetCount + 1
PrintDlg.CheckBoxes.Add 78, TopPos, 150, 16.5
PrintDlg.CheckBoxes(SheetCount).Text = _
CurrentSheet.Name
TopPos = TopPos + 13
End If
Next i

' Move the OK and Cancel buttons
PrintDlg.Buttons.Left = 240

' Set dialog height, width, and caption
With PrintDlg.DialogFrame
.Height = Application.Max _
(68, PrintDlg.DialogFrame.Top + TopPos - 34)
.Width = 230
.Caption = "Cochez les feuilles à imprimer."

End With

' Change tab order of OK and Cancel buttons
' so the 1st option button will have the focus
PrintDlg.Buttons("Button 2").BringToFront
PrintDlg.Buttons("Button 3").BringToFront

' Display the dialog box
CurrentSheet.Activate
Application.ScreenUpdating = True
If SheetCount <> 0 Then
If PrintDlg.Show Then
For Each cb In PrintDlg.CheckBoxes
If cb.Value = xlOn Then
Worksheets(cb.Caption).Activate
ActiveSheet.PrintOut
' ActiveSheet.PrintPreview 'for debugging

End If
Next cb
End If
Else
MsgBox "Toutes les feuilles sont vides."
End If

' Delete temporary dialog sheet (without a warning)
Application.DisplayAlerts = False
PrintDlg.Delete

' Reactivate original sheet
CurrentSheet.Activate
 

Pièces jointes

  • capture07.JPG
    capture07.JPG
    44.3 KB · Affichages: 9

fanch55

XLDnaute Barbatruc
J'ai bien fait la relation et vous répondrai éventuellement sur l'autre fil si aucune réponse ne vous est apportée entre temps .

Vous devriez clore celle-ci en mettant le post qui vous a été utile en "Solution" .

Bonsoir.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16