Génération plusieurs factures PDF

Bonjour,

J'ai :

  • un onglet base de données avec en colonne 1 les numéros de facture
  • un onglet facture, sur la cellule num facture j'ai fait une liste déroulante ayant comme données les num de facture se situant dans le premier onglet

Sur l'onglet facture à chaque changement de num facture les données se mettent à jour en fantion des donnée de l'onglé base de données.

Je ne maitrise pas les macro, en m'aidant de ce que j'ai pu trouver comme code j'ai compilé celui ci dessous dans l'espoire de générer toute les factures en PDF en les nommants " num fact + nom client" .

Seulement si je veux éditer que la facture choisi le code fonctionne, mais quand je répond oui à "générer toutes les factures du mois" ca mouline bien toute les factures mais il n'y à que la dernière de générer et le nom du PDF correspond au nom de la premiere facture. et la je bloque. Pouvez vous me venir en aide ?

Sub GENERER FACTURE PDF()

Dim c As Range, choix As Long, savSelection As String

NumFact = Range("M22")

NomClient = Range("m5")

chemin = "C:\Users\jwilser\Desktop\Factures"

choix = MsgBox("Voulez-vous Générer toutes les factures du mois?", vbQuestion + vbYesNoCancel + vbDefaultButton2, "Etendue impression")

If choix = vbCancel Then Exit Sub

If choix = vbNo Then

' Générer feuille PDF

If MsgBox("Voulez-vous générer uniquement cette facture?", vbYesNo) = vbYes Then

Sheets("FactENTETE@").Select

ChDir "C:\Users\jwilser\Desktop\Factures"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NumFact & " " & NomClient, _

Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _

:=False, OpenAfterPublish:=False

Else

Exit Sub

End If

Else

' Générer tout en PDF

Application.ScreenUpdating = False

savSelection = [M22]

For Each c In [Ref_fact]

[M22] = c.Value

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NumFact & " " & NomClient, _

Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _

:=False, OpenAfterPublish:=False

Next c

[M22] = savSelection

End If

Sheets("FactENTETE@").Select

MsgBox "Génération terminée"

End Sub

Rechercher des sujets similaires à "generation factures pdf"