Débutant VBA, créer un bouton sauvagarder

Bonjour à tous!

Voilà je suis débutant sous VBA et actuellement je travail sur un fichier excel ou j'aimerais créer un bouton "sauvegarder".

J'ai donc besoin d'un petit coup de main!

Il fonctionnerait ainsi:

- En cliquant dessus, une copie de mon fichier serait effectué et sera enregistrer dans un répertoire avec un nom définie. (le fichier original n'est pas modifier). Lorsque l'enregistrement est réalisé un message s'affiche m'indiquant "Document sauvegarder".

Jusque là tout va bien, voici mon code:

Private Sub CommandButtun1_Click ()

End Sub

Ce qu'il faudrait également:

- Il faudrait que la copie soit enregistrée en lecture seule, c'est à dire non modifiable ainsi que toutes les macros désactivés.

J'espère que j'ai été assez clair, en espérant que vous pourrez m'aider,

Cordialement, Steven

Bonjour,

Pour la lecture seule :

juste après la sauvegarde du fichier :

SetAttr "c:\fichier.xls", vbReadOnly

Pour la désactivation du code tu peux en début de la ou des procédures ajouter un test sur le nom du classeur original puisqui'il est renommé .

Si les macro sont dans un module standard , tu peux aussi ne copier que les onglets nécessaires pour cette sauvegarde

Merci Misterno!

Impeccable pour la lecture seule!

Voici mon code final:

Private Sub CommandButton1_Click()

End Sub

Par contre pour désactiver toutes les macros de la copie, là j'ai pas tout compri. Pourais-tu être plus clair? ou me montrer un exemple?

Merci pour ton aide en tout cas!

Cordialement, Steven

Bonjour,

Alors , tu peux placer ce code en amorce de ton vrai code, et comme tu renomme les fichiers sauvegarde , ceux ci ne démarreront pas leur macro :

Sub aiguillage() ' Eventuellementdans Private Sub Workbook_Open()
'Permet d'executer le code uniquement si le classeur senomme XXXX

Dim NomDuFichier As String

 NomDuFichier = "FichierTravail.xls"

If ThisWorkbook.Name = NomDuFichier Then
'Code habituel
   MsgBox "Je bosse"

  Else

   MsgBox "Je fais plus rien"

 End If

End Sub

en fait à la place du

MsgBox "Je fais plus rien"

il ne faut rien mettre

Salut Misterno!

Je viens d'essayer mais ça ne fonctionne pas. Peut être que je ne rentre pas le code au bon endroit.

Je doit l'écrire en amont ou en aval de mon code précedemment?

Dois-je l'écrire dans le ThisWorkbook?

Lorsque tu parle dans ton code de mon fichier travail, c'est mon fichier original n'est-ce pas?

bonjour,

pour faire plus simple :

il faut ajouter

 If ThisWorkbook.Name = NomDuFichier Then

sur le point d'entrée de ton code effectivement dans le fichier original, en fait c'est quand le fichier sera renommé que le code prendra tout son sens.

bien sur , il faut remplacer nomdufichier par le vrai nom de ton fichier "Exemple.xls"

Bonjour,

Je viens d'essayer et pas de souci ça fonctionne!

Merci pour ton aide si précieuse et surtout ta reactivité

A bientôt!

Steven

Rechercher des sujets similaires à "debutant vba creer bouton sauvagarder"