Archivage facture

orguyrine Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Sur le code suivant j ai erreur de compiltation erreur de syntaxe Sur la ligne .SaveAs ......

Pouvez vous m'aider

Sub Archivage()
'Déclaration des variables
Dim NomDossier As String
Dim CheminDossier As String
'Nom de dossier
NomDossier = Application.InputBox("Dossier Enregistrement :", "Dossier")
CheminDossier = "D:\Mes documents\Excel\Facture\" & NomDossier & "\"

Application.DisplayAlerts = False 'On désactive les messages d'alerte

If Range("F9").Value = "" Then 'On test que le numéro de facture à bien été saisie
MsgBox "Vous n'avez pas saisie le N° de facture ." & VbCrLf & " Meci de faire le nécessaire.",vbOkOnly + vbInformation,"SauveRange("F9").Select

Else ' SINON

With ActiveWorkbook ' Enregistrement du classeur portant le N° de la cellule F9
.SaveAs Filename:=CheminDossier & "\" & Range ("F9"), FileFormatlOpenXMLWorkbook
End With
' On affiche un message informant que le fichier a bien été sauvegardé.
MsgBox("Fiche Renseignement").Shapes("Bouton").Delete

En If

Application.DisplayAlerts = True 'On réactive la gestion des alertes.

End Sub

En vous remerciant

ORGUYRINE

Configuration: Windows / Firefox 67.0
A voir également:

3 réponses

orguyrine Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
encore moi

le code d'erreur est sur la ligne .SaveAS ....
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

il faut que tu crées ton dossier voir ceci:

https://excel-malin.com/codes-sources-vba/vba-verifier-si-dossier-existe/

voilà le code:

Option Explicit
'Déclaration des variables
Dim NomDossier As String
Dim CheminDossier As String
Private Sub CommandButton1_Click()
Archivage
End Sub
Sub Archivage()
'Nom de dossier
NomDossier = Application.InputBox("Dossier Enregistrement :", "Dossier")
CheminDossier = "D:\Mes documents\Excel\Facture\" & NomDossier & "\"
TesteSiDossierExiste
Application.DisplayAlerts = False 'On désactive les messages d'alerte
If Range("F9").Value = "" Then 'On test que le numéro de facture à bien été saisie
MsgBox "Vous n'avez pas saisie le N° de facture ." & vbCrLf & " Meci de faire le nécessaire.", vbCritical, "Sauvegarde"
Else ' SINON
With ActiveWorkbook ' Enregistrement du classeur portant le N° de la cellule F9
.SaveAs Filename:=CheminDossier & Range("F9").Value & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End With
' On affiche un message informant que le fichier a bien été sauvegardé.
MsgBox "Fichier sauvegardé", vbInformation, "Enregistrement"
End If
Application.DisplayAlerts = True 'On réactive la gestion des alertes.
End Sub
'https://excel-malin.com/codes-sources-vba/vba-verifier-si-dossier-existe/
Sub TesteSiDossierExiste()
'par Excel-Malin.com ( https://excel-malin.com )
Dim MonDossier As String
MonDossier = CheminDossier
If DossierExiste(MonDossier) = True Then
        MsgBox "Le dossier existe..."
    Else
       MkDir (CheminDossier) ' on crée le dossier
    End If
End Sub
Public Function DossierExiste(MonDossier As String)
'par Excel-Malin.com ( https://excel-malin.com )
 If Len(Dir(MonDossier, vbDirectory)) > 0 Then
      DossierExiste = True
   Else
      DossierExiste = False
   End If
End Function


voilà
0
orguyrine Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

Je vous remercie de votre réactivité à m'aider sur le code .Une question dans l'archivage garde t-il les formules .

en vous remerciant

orguyrine
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Oui suivant le code donné, il enregistre le classeur tel qu'il est!

@+
0
orguyrine Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

Je vous remercie encore de votre réponse aussi rapide

Une autre question : Puis je modifier dans le code xlsx par xlsm pour sauvegarder aussi les macros

En vous remerciant

orguyrine
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Oui, comme ceci:

With ActiveWorkbook ' Enregistrement du classeur portant le N° de la cellule F9
.SaveAs Filename:=CheminDossier & Range("F9").Value & ".xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End With


@+
0