Création d'archivage automatique de facture

Devis matrice.xlsm (38,4 Ko)
Bonjour je cherche à créer un archivage automatique de mes facures, j’ai suivi les instructions mais à la deuxième ligne erreur 1004. Je ne comprends pas d’ou cela vient.

Voici le début du code :

Sub Archiver()
ligne = Sheets(« HISTORIQUE_FACTURES »).Range(« A2 »).End(xlDown).Row + 1
Sheets(« HISTORIQUE_FACTURES »).Range(« A » & ligne).Value = Sheets(« FACTURE »).Range(« A18 »).Value
Sheets(« HISTORIQUE_FACTURES »).Range(« B » & ligne).Value = Sheets(« FACTURE »).Range(« B18 »).Value
Sheets(« HISTORIQUE_FACTURES »).Range(« C » & ligne).Value = Sheets(« FACTURE »).Range(« C18 »).Value
Sheets(« HISTORIQUE_FACTURES »).Range(« D » & ligne).Value = Sheets(« FACTURE »).Range(« E8 »).Value
Sheets(« HISTORIQUE_FACTURES »).Range(« E » & ligne).Value = Sheets(« FACTURE »).Range(« F45 »).Value
Sheets(« HISTORIQUE_FACTURES »).Range(« F » & ligne).Value = Sheets(« FACTURE »).Range(« E18 »).Value

End Sub

Est-ce que quelqu’un pourrait m’expliquer ou est mon erreur svp…

Merci d’avance aux âmes charitables

Avec le fichier c’est peut-être mieux

Bonjour,

Remplace comme ceci la recherche de la 1ère ligne vide

Ligne = Sheets("HISTORIQUE_FACTURES").Range("A" & Rows.Count).End(xlUp).Row + 1

Bonjour à tous,

J’essaie ce soir quand je rentre du boulot.
Merci pour ta réponse, mon erreur 1004 vient de la 1ere ligne?

Bonne journée à vous tous.

Alex

Salut,

Merci Mimi, ça fonctionne, ci joint le fichier.
J’aimerais si possible incrementer en plus le numéro de facture pour la prochaine et je ne sais pas faire, surtout que j’ai mis le format F2021-001. Est-ce possible?

Et l’ultime chose que j’aimerais faire c’est faire une impression en pdf avant l’archive, rangé dans un dossier bien précis et le fichier pdf portant le numéro de facture. Mais ça non plus je n’y arrive après plusieurs essais infructueux.

Est-ce que quelqu’un pourrait m’aider.

Merci à tous de vos solutions

Alex
Devis matrice.xlsm (45,7 Ko)

Re,
A tester, avec les Factures, le principe et la macro sera identique (mis à part pour la désignation) pour les Devis
Devis matrice (1).xlsm (34,1 Ko)

Re Mimi,

Merci de ta réponse mais le fichier ne s’ouvre pas.

Bonjour Alexandre,

Pour info, le fichier de Mimimathy s’ouvre bien chez moi :wink:

Salut Nono,

Chez moi rien à faire, peut-être le fait que je sois sur MAC, mais en PJ la capture d’écran de ce que cela fait. Pouvez-vous me copier le VBA?

Merci d’avance.

Apple et son monde d’illogisme :roll_eyes: :crazy_face: (à mes yeux)

Et avec ce fichier (ouvert en mode réparation et enregistré)
MimiMathy_Devis matrice.xlsm (33,4 Ko)

@+

Salut Nono,

Non c’est idem malheureusement et une fois ouvert en réparation il n’y a plus aucune macro dans le fichier.

Désolé.

Alex

Re,
La macro se trouvant dans Module 1 pour les Factures

Sub archiver()
  ActiveSheet.PrintOut copies:=1 'Impression Facture
  ligne = Sheets("HISTORIQUE_FACTURES").Range("A" & Rows.Count).End(xlUp).Row + 1
  Sheets("HISTORIQUE_FACTURES").Range("A" & ligne).Value = Sheets("FACTURE").Range("A18").Value
  Sheets("HISTORIQUE_FACTURES").Range("B" & ligne).Value = Sheets("FACTURE").Range("B18").Value
  Sheets("HISTORIQUE_FACTURES").Range("C" & ligne).Value = Sheets("FACTURE").Range("C18").Value
  Sheets("HISTORIQUE_FACTURES").Range("D" & ligne).Value = Sheets("FACTURE").Range("E8").Value
  Sheets("HISTORIQUE_FACTURES").Range("E" & ligne).Value = Sheets("FACTURE").Range("F45").Value
  Sheets("HISTORIQUE_FACTURES").Range("F" & ligne).Value = Sheets("FACTURE").Range("E18").Value
  Enreg_Pdf
  Sheets("FACTURE").Range("C18:E18").ClearContents
  Sheets("FACTURE").Range("A23:A36").ClearContents
  Sheets("FACTURE").Range("A18").ClearContents
  Sheets("FACTURE").Range("A18").Value = "F" & Year(Date) & "-" & Format(ligne, "000")
  Sheets("FACTURE").Range("D23:D36").ClearContents
End Sub
Sub Enreg_Pdf()
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ThisWorkbook.Path & "\Factures\" & Sheets("FACTURE").Range("A18") & ".pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
  'Enregistre la facture en PDF dans le dossier Factures qu'il faut créer au départ dans le même dossier que ce fichier EXCEL
End Sub
1 « J'aime »

Re à tous,

Cela ne fonctionne pas… mac ou version excel je ne sais pas…
J’ai trouvé un paliatif mais pas parfait car à moi de donner le chemin et l’extension du fichier (pdf)

Sub EnregistrerPDF2()
Dim chemin As Variant
With ActiveSheet.PageSetup
.PrintArea = « A1:F45 »
.Zoom = FalseTexte préformaté
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
chemin = Application.GetSaveAsFilename([A18]) 'nom du fichier en cellule A18
If chemin = False Then Exit Sub
ActiveSheet.ExportAsFixedFormat xlTypePDF, chemin
End Sub

Si quelqu’un à une idée pour perfectionner ce serait top…

Désolé d’insister

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.