Enregistrement de fichier
Bonjour à toutes et tous.
Je tenais à vous remercier pour l'aide que vous m'avez apporté lors de mon dernier post.
Celui d'aujourd'hui concerne toujours mon facturier, car je rencontre un problème lors de l'enregistrement du fichier. La procédure se déroule correctement, par contre, la sauvegarde du fichier actif est enregistrée par défaut dans le répertoire "Documents", et l'exportation du fichier en .PDF est enregistrée dans le répertoire "Nouvelle facturation". Ce dernier enregistrement est correct, par contre je souhaiterai enregistrer la facture au format .xls dans un répertoire autre que celui spécifié par défaut ("Documents), à savoir : "d:\Users\perso\Documents\Auberge des pêcheurs\Factures clients\", mais je sèche ...
Autre souci également, j'ai ajouté à mon code une fonction d'incrémentation automatique du numéro de facture (dans le classeur "facturation clients"). L'incrémentation se fait normalement, mais au lieu de se faire sur le classeur "facturation clients", elle se fait sur le nouveau classeur excel qui a été sauvegardé et renommé.
Du coup, je ne peux plus travailler sur le fichier d'origine, qui lui n'est pas incrémenté. Voili, voilou, c'est pourquoi j'aurai à nouveau besoin de vos lumières !!!
Merci par avance !!
Private Sub CommandButton1_Click()
'formulaire saisie clients
Feuil3.ShowDataForm
End Sub
Private Sub CommandButton3_Click()
Dim Fe As Worksheet
Dim Chemin As String
Set Fe = Worksheets("Facture")
'Export facture format PDF
info1 = Fe.Range("G2").Value
info2 = Fe.Range("I8").Value
info3 = Fe.Range("C8").Value
Chemin = "D:\Users\perso\Documents\Auberge des pêcheurs\Factures clients\Nouvelle facturation\"
nom = info1 & "-" & info2 & "-" & info3 & "-" & ".xls"
ThisWorkbook.Save
ThisWorkbook.SaveAs (nom)
ThisWorkbook.Activate
If MsgBox("Avez vous pensé à valider votre facture afin de générer le numéro automatique ?", _
vbQuestion + vbYesNo, _
"Attention, message important !!!") = vbYes Then
ActiveSheet.ExportAsFixedFormat xlTypePDF, Chemin & Replace(nom, "-.xls", ".pdf"), xlQualityStandard, True, False, 1, 1, True
End If
'Incrémentation du numero de facture
Sheets("Données").Range("B2").Value = Sheets("Données").Range("B2") + 1
'Remise à zéro facture
Range("C8,B15:H25,C29:C30").Select
Range("C29").Activate
ActiveWindow.SmallScroll Down:=-6
Selection.ClearContents
Range("C8").Select
End SubBonjour,
Remplaces la ligne de code ci-dessous :
ThisWorkbook.SaveAs (nom)par celle-ci :
ThisWorkbook.SaveAs Left(Chemin, InStrRev(Chemin, "\", Len(Chemin) - 1)) & nomRe, Theze
Formidable, tout fonctionne pile poil !! Un grand grand merci pour ton aide.
Bonne continuation et certainement à très bientôt
Cordialement.
Christophe.