XL 2013 Incapacité de sauvegarder le fichier avec macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
794
Réponses
5
Affichages
410
Réponses
3
Affichages
537
Réponses
2
Affichages
423
Retour