Microsoft 365 Générer des quiitances de Loyer

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

flegeo.d@gmail.com

XLDnaute Nouveau
Bonjour,

J'ai un fichier pour génerer des quittances de loyer mensuel.
Cependant, quand j'enregistre tous les mois mes quittances, elles s'enregistrent tous les mois sous le même nom de fichier.
Exemple:
Appart 01.pdf
Appart 02.pdf
Appart 03.pdf
....

Je souhaiterais que chaque mois, lors de l'enregistrement, il y ait le mois et l'année qui apparaissent devant (Janvier 2026 Appart 01.pdf et ainsi de suite .....).
Et là, je ne sais pas comment faire ça.
Est ce que quequ'un pourrait me modifier mon fichier dans ce sens?
Merci d'avance
 

Pièces jointes

Bonjour,

Une proposition :
VB:
Sub printpdf()
    Application.ScreenUpdating = False
    chemin = "C:\Users\flege\OneDrive\Bureau\QUITTANCES CHOISEUL\" ' adapter le chemin
    Suffixe = " ( " & Format(Sheets("Locataires").Range("E3"), "mmmm yyyy") & " )"
    For Each ws In ThisWorkbook.Worksheets
        Select Case ws.Name
            Case "Locataires", "Quittance modiffiable" 'ne pas imprimer ces feuilles
            Case Else
                nf = chemin & ws.Name & Suffixe & ".pdf"
                On Error Resume Next
                Kill nf 'on efface le fichier pdf s'il existe déjà
                On Error Resume Next
                ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                nf, Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                False
        End Select
    Next ws
End Sub
 
Cependent enregistrer ce sous ce format peut entraîner une confusion dans l'ordre des fichiers générés dans l'exploreur vaux mieux utiliser "yyyy-mm" 2026-02
C'est l'avantage d'utiliser Format : tu mets sous le format que tu veux. 😉

Et en français, sauf erreur de ma part, il n'y a pas d'espace après une parenthèse ouvrante, ni avant une parenthèse fermante. J'en ai pourtant mis.

Il y a aussi les espaces qui sont de potentielles sources de problèmes. Mais j'en ai quand même mis.

J'ai aussi mis la "date" en suffixe, alors que dans l'explorateur de fichiers il serait peut-être plus pratique de la mettre en préfixe.


Bref. Je pense que maintenant le demandeur a une méthode sur laquelle il peut s'appuyer pour fabriquer les noms qu'il veut. 😉
 
Dernière édition:
Bonjour,

Une proposition :
VB:
Sub printpdf()
    Application.ScreenUpdating = False
    chemin = "C:\Users\flege\OneDrive\Bureau\QUITTANCES CHOISEUL\" ' adapter le chemin
    Suffixe = " ( " & Format(Sheets("Locataires").Range("E3"), "mmmm yyyy") & " )"
    For Each ws In ThisWorkbook.Worksheets
        Select Case ws.Name
            Case "Locataires", "Quittance modiffiable" 'ne pas imprimer ces feuilles
            Case Else
                nf = chemin & ws.Name & Suffixe & ".pdf"
                On Error Resume Next
                Kill nf 'on efface le fichier pdf s'il existe déjà
                On Error Resume Next
                ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                nf, Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                False
        End Select
    Next ws
End Sub
Merci de votre réponse. Etant novice en la matière d'Excel, pourriez vous me l'intégrer dans mon fichier Svp?
 
Bonjour,

Une proposition :
VB:
Sub printpdf()
    Application.ScreenUpdating = False
    chemin = "C:\Users\flege\OneDrive\Bureau\QUITTANCES CHOISEUL\" ' adapter le chemin
    Suffixe = " ( " & Format(Sheets("Locataires").Range("E3"), "mmmm yyyy") & " )"
    For Each ws In ThisWorkbook.Worksheets
        Select Case ws.Name
            Case "Locataires", "Quittance modiffiable" 'ne pas imprimer ces feuilles
            Case Else
                nf = chemin & ws.Name & Suffixe & ".pdf"
                On Error Resume Next
                Kill nf 'on efface le fichier pdf s'il existe déjà
                On Error Resume Next
                ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                nf, Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                False
        End Select
    Next ws
End Sub
Un grand Merci pour vos conseils . ça fonctionne nickel comme je le souhaitais. Génial. MERCI
 
Un grand Merci pour vos conseils . ça fonctionne nickel comme je le souhaitais. Génial. MERCI
Comme l'a fort justement suggéré Rheeem, si tu as compris le principe tu peux modifier le format que j'ai arbitrairement imposé pour le nom du fichier (préfixe au lieu de suffixe, mois écrit en nombre plutôt qu'en texte, etc.).

Je viens de relire ta question initiale, et c'est d'ailleurs un préfixe que tu demandais, et moi j'ai proposé un suffixe... 🙄

Si tu n'arrives pas à donner le format exact que tu veux pour les noms de tes fichiers, n'hésite pas à le dire, on verra ce qu'on peut faire. 😉
 
bonsoir
juste en passant moi les gestions d'erreurs sauf si indispensables, je m'en passe
VB:
Sub printpdf()
    Dim chemin$, ws As Worksheet, Nf$
    Application.ScreenUpdating = False
    
    chemin = "C:\Users\flege\OneDrive\Bureau\QUITTANCES CHOISEUL" ' adapter le chemin
    If Dir(chemin, vbDirectory) = "" Then MsgBox "le dossier est inaccessible" & vbCrLf & "Vérifiez l'existence du dossier", vbInformation: Exit Sub
    
    For Each ws In ThisWorkbook.Worksheets
        
        Select Case Left(ws.Name, 6)
                
            Case "Appart"
                Nf = chemin & "\" & ws.Name & "_" & Format([Locataires!E3].value, "mmmm yyyy") & ".pdf"
                If Dir(Nf) <> "" Then Kill Nf 'on efface le fichier pdf s'il existe déjà
                ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Nf, Quality:=xlQualityStandard, _
                                                IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
            Case Else
        End Select
    Next ws
    Application.ScreenUpdating = True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour