Bonjour,
Je souhaite faire une sauvegarde de ma feuille et enregistrement vers un classeur nommé Dossier_Factures et avec pour nom, "le nom du client et le N°Facture à sauvegarder"
Voici le début de code qui hélas fait me donne un message d'erreur a chaque fois que je veut enregistrer
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 Private Function SaveFacture(Sh1 As Worksheet) As String Application.ScreenUpdating = False Dim fPath As String, VBC As Object, o As Shape, i%, Rng As Range, v As Variant ' Adapter la configuration du nom en fonction de tes choix ' Penser à faire la même modif dans la procédure ListBox1_Click du module UserForm1 fPath = "(" & Sh1.Range("N11") & ") " & Sh1.Range("I10") fPath = PathFactures & fPath & " " & Sh1.Range("C13") & ".xls" Sh1.Copy ' Effacement des noms With ActiveWorkbook i = .Names.Count If i Then For i = .Names.Count To 1 Step -1: .Names(i).Delete: Next i End With ' Remplacement des formules par leur valeur For Each Rng In ActiveSheet.UsedRange If Rng.HasFormula Then v = Rng.Value: Rng.FormulaR1C1 = v Next Rng ' Destruction des boutons sur la feuille For Each o In ActiveSheet.Shapes If InStr(1, o.Name, "CommandButton") Then o.Delete Next o ' Effacement des colonnes inutiles ActiveSheet.Columns("K:V").Delete Shift:=xlToLeft ' Définition de la zône d'impression ActiveSheet.PageSetup.PrintArea = "$A$1:$K$55" ' Destruction du code de la feuille For Each VBC In ActiveWorkbook.VBProject.VBComponents If VBC.Type = 100 Then With VBC.CodeModule .DeleteLines 1, .CountOfLines End With End If Next VBC Application.DisplayAlerts = False ActiveWorkbook.SaveAs fPath Application.DisplayAlerts = True Application.ScreenUpdating = True Call PrintFacture(True) ActiveWorkbook.Close SaveFacture = "file:///" & fPath End Function
Cordialement
Max
Partager