XL 2013 Incapacité de sauvegarder le fichier avec macro

wilbur11

XLDnaute Junior
Bonjour à tous,

Ca fait un bail que je ne suis pas venu demande d'aide mais aujourd'hui est mon retour sur le forum.

j'ai du faire une modification à ma macro et maintenant Excel se préoccupe que le fichier doit etre en fonction des macro.
Mais je suis incapable de sauvegarder la macro malgré que j'indique qu'il doit enregistrer en .xlsm
ou est mon erreur? Comment corriger la situation?

Code:
Sub comptoir()
Sheets("devis").Select
If IsEmpty(Range("b2")) Then
   Range("B2").Select
   MsgBox "LE NOM DU CLIENT doit être inscrit": End
End If
If IsEmpty(Range("b3")) Then
    Range("B3").Select
    MsgBox "L'ADRESSE doit être inscrit": End
End If
If IsEmpty(Range("b7")) Then
    Range("B7").Select
    MsgBox "LE NUMÉRO DE TÉLÉPHONE doit être inscrit": End
End If
Dim Nomfichier As String, chemin As String
Sheets("Soumission client").Select
ActiveSheet.Unprotect
chemin = "\\NASEAD01\Public\Comptoir\"
Sheets("Soumission client").Copy
With ActiveWorkbook
    With .Sheets("Soumission client")
        Nomfichier = .Range("a4") & "_" & .Range("b8")
        .UsedRange.Copy
        .Cells(1, 1).PasteSpecial Paste:=xlValues
         Range("A1:n43").PrintOut Copies:=1, Collate:=True
        .Name = Nomfichier
        .Protect
    End With
    .SaveAs Filename:=chemin & Nomfichier & ".xlsm"
    .Close (False)
End With
'là un petit message pour faire joli et indiquer que la sauvegarde a bien été exécutée
msg = "Votre Facture a été sauvegardée sous le nom:" & Chr(10) & Chr(10) & Nomfichier
Title = "Sauvegarde de la facture actuelle"
Style = vbOKOnly + vbInformation
Reponse = MsgBox(msg, Style, Title)
'sur le fichier d'origine on incrémente la cellule a7 de 1 et on efface les cellules
Sheets("Soumission client").Range("a4") = Range("a4") + 1
With Sheets("devis")
    .Range("b2:b5,b7:b8,c14,b17,f14:s15") = ""
    .Range("b10") = "non"
End With
'on reprotège la feuille
ActiveSheet.Protect
Application.ScreenUpdating = False
End Sub
 

wilbur11

XLDnaute Junior
Bonjour à tous,

Ca fait un bail que je ne suis pas venu demande d'aide mais aujourd'hui est mon retour sur le forum.

j'ai du faire une modification à ma macro et maintenant Excel se préoccupe que le fichier doit etre en fonction des macro.
Mais je suis incapable de sauvegarder la macro malgré que j'indique qu'il doit enregistrer en .xlsm
ou est mon erreur? Comment corriger la situation?

Code:
Sub comptoir()
Sheets("devis").Select
If IsEmpty(Range("b2")) Then
   Range("B2").Select
   MsgBox "LE NOM DU CLIENT doit être inscrit": End
End If
If IsEmpty(Range("b3")) Then
    Range("B3").Select
    MsgBox "L'ADRESSE doit être inscrit": End
End If
If IsEmpty(Range("b7")) Then
    Range("B7").Select
    MsgBox "LE NUMÉRO DE TÉLÉPHONE doit être inscrit": End
End If
Dim Nomfichier As String, chemin As String
Sheets("Soumission client").Select
ActiveSheet.Unprotect
chemin = "\\NASEAD01\Public\Comptoir\"
Sheets("Soumission client").Copy
With ActiveWorkbook
    With .Sheets("Soumission client")
        Nomfichier = .Range("a4") & "_" & .Range("b8")
        .UsedRange.Copy
        .Cells(1, 1).PasteSpecial Paste:=xlValues
         Range("A1:n43").PrintOut Copies:=1, Collate:=True
        .Name = Nomfichier
        .Protect
    End With
    .SaveAs Filename:=chemin & Nomfichier & ".xlsm"
    .Close (False)
End With
'là un petit message pour faire joli et indiquer que la sauvegarde a bien été exécutée
msg = "Votre Facture a été sauvegardée sous le nom:" & Chr(10) & Chr(10) & Nomfichier
Title = "Sauvegarde de la facture actuelle"
Style = vbOKOnly + vbInformation
Reponse = MsgBox(msg, Style, Title)
'sur le fichier d'origine on incrémente la cellule a7 de 1 et on efface les cellules
Sheets("Soumission client").Range("a4") = Range("a4") + 1
With Sheets("devis")
    .Range("b2:b5,b7:b8,c14,b17,f14:s15") = ""
    .Range("b10") = "non"
End With
'on reprotège la feuille
ActiveSheet.Protect
Application.ScreenUpdating = False
End Sub
 

wilbur11

XLDnaute Junior
Bonjour les Exceleux!
J'ai besoin de vos connaissance,
Malheureusement la proposition de Pierrot93 ne fonctionne pas. J'avais laissé tombé cette option dans ma macro depuis 2 ans mais on me reviens à la charge pour que sa fonctionne. Ça me prends quelqu'un qui travail avec Office 365 car celui-ci enregistre les fichier avec macro automatiquement sous .xlsm. Mon problème est survenu depuis le changement de version. Avant je n'avais aucun problème avec ma macro mais la la macro plante a toute les fois.

Pouvez-vous m'aider
 

Pièces jointes

  • # Bon de commande.xlsm
    26.6 KB · Affichages: 29

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
701
Réponses
6
Affichages
360

Statistiques des forums

Discussions
314 588
Messages
2 110 988
Membres
111 002
dernier inscrit
Lolo73i