Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème lors de l'archivage

Aucune réponse
Avatar
julie13
Bonjour,

J'ai un classeur excel avec du code VBA
mais je rencontre un problème quand je clique sur mon bouton archivage j'ai un message qui me dit : les macros visual basic seront supprimées si vous enregistrez le fichier dans ce format. Etes vous sur de vouloir utiliser ce format de fichier ? et ça me demande soit d'annuler soit de supprimer les macros et d'enregistrer.

Sauf que si je fais ça tout ce que j'ai fait en macro ne sert à rien, je n'ai plus d'archivage et ma feuille ne se réinitialise pas.

Mon fichier est enregistré en .xlsm (format normalement compatible avec les macros)

je vous colle le code complet que j'ai :

Option Explicit

Dim chemin As String
Dim PathSep As String
Dim nom As String

Sub Archivage_Devis()
chemin = ThisWorkbook.Path
PathSep = Application.PathSeparator
nom = [D8].Value & "-" & Year([E3]) & "-" & MonthName(Format([E3], "mm")) & "-" & Format([K5], "0000") & ".xlsm"
'---------------------Création du fichier temporaire
If [K5] = "" Then MsgBox "Veuillez saisir en cellule K5 le numéro du devis", , "Création abandonnée !": Exit Sub

If MsgBox(" Si le devis est entièrement édité, veuillez confirmer" & vbCrLf & vbCrLf & _
" l'archivage du devis n° " & nom, vbYesNo, " Veuillez confirmer pour poursuivre,") = vbYes Then
Application.EnableEvents = False
Application.DisplayAlerts = False '-------Annulation des alertes
'---------------------Nom du fichier à créer extension xls
ActiveSheet.Shapes.Range(Array("Bouton1")).Visible = False
' ActiveSheet.PrintOut copies:=1
Sheets("Devis").Copy
ActiveWorkbook.SaveAs chemin & PathSep & "Archives Devis" & PathSep & nom, FileFormat:=52
ActiveWindow.Close
'---------------------Après l'archivage le fichier se réinitialise
ActiveSheet.Shapes.Range(Array("Bouton1")).Visible = True
Sheets("Devis").Range("E3,E4,A13:G17,A19:F22,G27").ClearContents
Sheets("Devis").Range("K5").Value = Sheets("Devis").Range("K5").Value + 1
Application.DisplayAlerts = True '-------rétablissement des alertes
Application.EnableEvents = True
End If
[K5].Select
ActiveWorkbook.Save
End Sub

Sub Archivage_Factures()
chemin = ThisWorkbook.Path
PathSep = Application.PathSeparator
nom = [D8].Value & "-" & Year([E3]) & "-" & MonthName(Format([E3], "mm")) & "-" & Format([K5], "0000") & ".xlsm"
'---------------------Création du fichier temporaire
If [K5] = "" Then MsgBox "Veuillez saisir en cellule K5 le numéro de la facture", , "Création abandonnée !": Exit Sub

If MsgBox(" Si la facture est entièrement éditée, veuillez confirmer" & vbCrLf & vbCrLf & _
" l'archivage de la facture n° " & nom, vbYesNo, " Veuillez confirmer pour poursuivre,") = vbYes Then
Application.EnableEvents = False
Application.DisplayAlerts = False '-------Annulation des alertes
'---------------------Nom du fichier à créer extension xls
Sheets("Facture").Shapes.Range(Array("Bouton2")).Visible = False
' ActiveSheet.PrintOut copies:=1
Sheets("Facture").Copy
ActiveWorkbook.SaveAs chemin & PathSep & "Archives Factures" & PathSep & nom, FileFormat:=52
ActiveWindow.Close
'---------------------Après l'archivage le fichier se réinitialise
Sheets("Facture").Shapes.Range(Array("Bouton2")).Visible = True
Sheets("Facture").Range("E3,E4,A14:G21,F24:G24").ClearContents
Sheets("Facture").Range("K5").Value = Sheets("Facture").Range("K5").Value + 1
Application.DisplayAlerts = True '-------rétablissement des alertes
Application.EnableEvents = True
End If
[K5].Select
ActiveWorkbook.Save
End Sub

Il y a surement un truc que je ne capte pas, si vous pouviez m'aider ça serait très sympa.

Merci d'avance

Réponses