Bonjour,

J'aimerais que ma macro génère un fichier avec des feuilles et des boutons qui permettent de naviguer entre ces feuilles, puis que tout cela soit enregistré avec les codes des boutons écrits dans chaque code de feuille.

Pour créer le classeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub CreerClasseur()
    Workbooks.Add
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "Menu"
    ...
    ...
 
    MyFile = "F:\Mon_fichier.xlsm"
    ActiveWorkbook.SaveAs Filename:= _
        MyFile, _
        FileFormat:=52, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
 
End Sub
Ensuite le code crée les boutons.
A la fin de la macro, le fichier est enregistré :

Une fois la macro arrivée à la fin, le fichier généré reste ouvert et fonctionne parfaitement.
Le menu permet d'aller directement à une feuille et le bouton présent sur cette feuille permet de revenir au menu.

(Code d'un bouton présent dans le code de la feuille menu)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub CommandButton2_Click()
Sheets("........").Select
End Sub
(Code d'un bouton présent dans le code de la feuille précédente)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub CommandButton1_Click()
Sheets("Menu").Select
End Sub
Mais une fois sorti du classeur, si je rouvre le fichier, tous les codes des boutons ont disparu. Ils ne sont donc plus fonctionnels.

En revanche, si à la fin de la macro, j'enregistre encore manuellement le fichier via le menu d'Excel, et qu'ensuite je sors du fichier, alors si je le rouvre, il fonctionnera encore parfaitement.

Où est le problème ???
Je n'ai rien trouvé sur internet pendant 2H.

J'aimerais que la macro sauvegarde le fichier avec les codes présents dans les feuilles...

Merci par avance pour votre aide.
Cordialement,

Christopher