Bonjour, je suis tout nouveau sur le forum et j'admire le travail et l'entraide sur celui-ci.
Je suis un débutant en VBA et je vous avoue que je coince sur une nouvelle macro.
J'aimerais pouvoir imprimer en PDF depuis excel via une macro, plusieurs fois une même page mais en changeant la référence de la première valeur en haut à gauche.
J'ai mis sur une autre feuille, sur une colonne, tout les références.
J'ai mis une condition pour ne pas sortir les factures en dessous d'un montant défini, "Amount", inférieur à 10€ dans ce cas précis. Le problème est que le msgbox apparaît trois fois et je dois cliquer trois fois pour le fermer...
Voici le code mais pour l'instant j'arrive à imprimer qu'une page.
Dim MonRepertoire As String 'Créer folder de l'année en cours
Dim RepertoireAnnuel As String 'Créer folder dans l'année en cours pour le trimestre en cours
MonRepertoire = "G:\D - ABC\Clientele\B - Facturation\FRAIS\" & ThisWorkbook.Sheets("FACTURE").Range("C2").Value 'Ceci créé le folder de l'année en cours
RepertoireAnnuel = "G:\D - ABC\Clientele\B - Facturation\FRAIS\" & ThisWorkbook.Sheets("FACTURE").Range("C2").Value & "\" & _
ThisWorkbook.Sheets("FACTURE").Range("C1").Value 'Ceci créé le folder du trimestre en cours
On Error Resume Next
MkDir MonRepertoire
MkDir RepertoireAnnuel
End Sub
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sub ExportFullPDF()
Call Répertoire
Dim fName As Variant
Dim Nom$
Dim Year$
Dim Amount As Variant
Dim Cellule As Variant
For Each Cellule In ThisWorkbook.Sheets("TOTAL").Range("A2:A4")
Cellule = Cellule.Value
Nom = "FACTURE" & ThisWorkbook.Sheets("FACTURE").Range("C1").Value & " - " & ThisWorkbook.Sheets("FACTURE").Range("C13").Value 'Définit le nom de la facture
Amount = ThisWorkbook.Sheets("FACTURE").Range("I29").Value ' condition pour imprimer les factures au dessus du montant de 10€, en cellule I29.
If Amount <= 10 Then
MsgBox "Montant inférieur à la limite d'envoi..."
End If
If Amount > 10 Then
fName = Nom & ".pdf"
End If
If fName <> False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If
Next
End Sub
Merci d'avance pour votre aide et je reste à votre disposition pour toutes informations complémentaires.
Rafaël
Je suis un débutant en VBA et je vous avoue que je coince sur une nouvelle macro.
J'aimerais pouvoir imprimer en PDF depuis excel via une macro, plusieurs fois une même page mais en changeant la référence de la première valeur en haut à gauche.
J'ai mis sur une autre feuille, sur une colonne, tout les références.
J'ai mis une condition pour ne pas sortir les factures en dessous d'un montant défini, "Amount", inférieur à 10€ dans ce cas précis. Le problème est que le msgbox apparaît trois fois et je dois cliquer trois fois pour le fermer...
Voici le code mais pour l'instant j'arrive à imprimer qu'une page.
Dim MonRepertoire As String 'Créer folder de l'année en cours
Dim RepertoireAnnuel As String 'Créer folder dans l'année en cours pour le trimestre en cours
MonRepertoire = "G:\D - ABC\Clientele\B - Facturation\FRAIS\" & ThisWorkbook.Sheets("FACTURE").Range("C2").Value 'Ceci créé le folder de l'année en cours
RepertoireAnnuel = "G:\D - ABC\Clientele\B - Facturation\FRAIS\" & ThisWorkbook.Sheets("FACTURE").Range("C2").Value & "\" & _
ThisWorkbook.Sheets("FACTURE").Range("C1").Value 'Ceci créé le folder du trimestre en cours
On Error Resume Next
MkDir MonRepertoire
MkDir RepertoireAnnuel
End Sub
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sub ExportFullPDF()
Call Répertoire
Dim fName As Variant
Dim Nom$
Dim Year$
Dim Amount As Variant
Dim Cellule As Variant
For Each Cellule In ThisWorkbook.Sheets("TOTAL").Range("A2:A4")
Cellule = Cellule.Value
Nom = "FACTURE" & ThisWorkbook.Sheets("FACTURE").Range("C1").Value & " - " & ThisWorkbook.Sheets("FACTURE").Range("C13").Value 'Définit le nom de la facture
Amount = ThisWorkbook.Sheets("FACTURE").Range("I29").Value ' condition pour imprimer les factures au dessus du montant de 10€, en cellule I29.
If Amount <= 10 Then
MsgBox "Montant inférieur à la limite d'envoi..."
End If
If Amount > 10 Then
fName = Nom & ".pdf"
End If
If fName <> False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If
Next
End Sub
Merci d'avance pour votre aide et je reste à votre disposition pour toutes informations complémentaires.
Rafaël