Impossible de sauvegarder un classeur

Résolu
Bonjour,

Voici mon pbs,

J'effectue des modifications dans un classeur X via une macro codée dans un classeur Y.

Une fois les modifications apportée au Classeur X, je souhaite le sauver et le fermer.

Pbs lorsque je souhaite le sauver le message suivant apparait :

Voulez vous enregistrer les modifications apportées à X.xlsm (Jusque là tou va bien)

Je clique sur "Enregistrer" et là, la fenetre réaparer et me repose la question indéfiniment jusqu'a ce que je clique sur "ne pas enrgistrer" ou "annuler"

Du coup mon fichier n'est pas enregistrer.

Merci de Votre aide.

4 réponses

  1. Contributeur
    Bonjour,
    Sans le code de ta macro c'est difficile de te répondre.
    Montre le code Stp.
    A+
    0
    1. Voici le code présent dans le classeur Y

      Application.DisplayAlerts = True
      Workbooks(Y).Activate                                            
      Sheets(FeuilleAct).Delete
      Workbooks(X).Close
      MsgBox ("La séance" & TestName & " du " & TestDateStr & " a été transféré avec succés")


      Et Voci le Code dans le classeur X

      Private Sub Workbook_BeforeClose(Cancel As Boolean)
      
      ThisWorkbook.Save
      
      End Sub


      Je rapelle que lorsque j'effectue cette opération le message suivant apparait :

      Voulez vous enregistrer les modifications apportées à X.xlsm (Jusque là tou va bien)

      Je clique sur "Enregistrer" et là, la fenetre réaparer et me repose la question indéfiniment jusqu'a ce que je clique sur "ne pas enregistrer" ou "annuler"

      Merci
      0
      1. Contributeur
         Voici le code présent dans le classeur Y 
        Montre TOUTE la procédure Stp.
        0
        1. Bonjour,

          J'ai résolu mon pbs.

          En effet ma macro copie une feuille Excel contenant des objet Active X dans un autre classeur pour archiver la feuille.

          Excel ne voulait pas enregistrer ces objets.

          J'ai donc supprimer tous les objets de la feuille( qui ne me serve plus pour mon archives) avec le code suivant :

          For Each vSh In ActiveSheet.Shapes
            vSh.Delete                                
          Next vSh
          0