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