Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment forcer les utilisateurs à enregistrer en tant que classeur activé pour les macros?

Lorsque vous enregistrez un classeur Excel, il est enregistré au format de fichier xlsx par défaut et ce format de fichier supprime les codes de macro du classeur s'il existe plusieurs codes. Pour conserver les codes, vous devez enregistrer le classeur au format Excel Macro-Enable Workbook. Comment pourriez-vous forcer les utilisateurs à enregistrer en tant que classeur activé pour les macros?

Forcer les utilisateurs à enregistrer en tant que classeur activé par une macro avec le code VBA

Onglet Office Activer l'édition et la navigation par onglets dans Office, et simplifiez grandement votre travail ...
Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%
  • Réutiliser n'importe quoi: Ajoutez les formules, graphiques et autres éléments les plus utilisés ou les plus complexes à vos favoris et réutilisez-les rapidement.
  • Plus que le texte 20 comprend: Extraire le numéro de la chaîne de texte; Extraire ou supprimer une partie des textes; Convertissez les nombres et les devises en mots anglais.
  • Fusionner les outils: Plusieurs classeurs et feuilles en un; Fusionner plusieurs cellules / lignes / colonnes sans perdre de données; Fusionner les lignes en double et la somme.
  • Outils Split: Fractionner les données en plusieurs feuilles en fonction de la valeur; Un classeur pour plusieurs fichiers Excel, PDF ou CSV; Une colonne à plusieurs colonnes.
  • Coller Sauter Lignes cachées / filtrées; Compte et somme par couleur de fond; Envoyez des e-mails personnalisés à plusieurs destinataires en bloc.
  • Super filtre: Créez des schémas de filtrage avancés et appliquez-les à toutes les feuilles. Trier par semaine, jour, fréquence et plus; Filtre en gras, formules, commentaires ...
  • Plus que de puissantes fonctionnalités 300; Fonctionne avec Office 2007-2019 et 365; Prend en charge toutes les langues; Déploiement facile dans votre entreprise ou organisation.

flèche bleue droite bulle Forcer les utilisateurs à enregistrer en tant que classeur activé par une macro avec le code VBA

Pour enregistrer le classeur en tant que classeur activé par macro par défaut, le code VBA suivant peut vous aider, procédez comme suit:

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Puis double-cliquez ThisWorkbook sous le VBAProject section pour ouvrir un nouveau module vide, puis copiez et collez le code suivant dans le module:

Code VBA: Forcer l'enregistrement du classeur en tant que classeur activé pour les macros par défaut:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Updateby Extendoffice 20161222
Dim xFileName As String
If SaveAsUI <> False Then
    Cancel = True
    xFileName = Application.GetSaveAsFilename(, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm", , "Save As xlsm file")
    If xFileName <> "False" Then
      Application.EnableEvents = False
      ActiveWorkbook.SaveAs Filename:=xFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
      Application.EnableEvents = True
    Else
      MsgBox "Action Cancelled"
      Cancel = True
      Exit Sub
    End If
End If
End Sub

doc force enregistrer sous xlsm 1

3. Ensuite, enregistrez et fermez cette fenêtre de code, à partir de maintenant, lorsque les utilisateurs enregistreront en tant que ce classeur, il sera enregistré en tant que Cahier de travail Excel avec macro-activé format par défaut comme capture d'écran suivante:

doc force enregistrer sous xlsm 2


Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe Créer une liste de diffusion et envoyer des emails ...
  • Super Formula Bar (éditez facilement plusieurs lignes de texte et de formule); Disposition de lecture (facilement lire et éditer un grand nombre de cellules); Coller à la gamme filtrée...
  • Fusionner les cellules / rangées / colonnes sans perdre de données; Contenu des cellules divisées; Combiner les lignes / colonnes en double... Prévenir les cellules en double; Comparer les plages...
  • Sélectionnez Dupliquer ou Unique Des rangées; Sélectionnez les lignes vierges (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux cahiers d'exercices; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de la formule; Créer automatiquement des références à plusieurs feuilles; Insérer des balles, Cases à cocher et plus ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre contenu de cellules et commentaires...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial en gras, en italique ...
  • Combinaison de classeurs et de feuilles de calcul; Fusionner les tables en fonction des colonnes clés; Fractionner les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus que de puissantes fonctionnalités 300. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit du jour 30.
kte tab 201905

Office Tab apporte une interface à onglets à Office et simplifie grandement votre travail

  • Activer l'édition par onglets et la lecture dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit le nombre de clics de souris pour vous chaque jour!
fond officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jonathan · 8 months ago
    Keep getting a 1004 ERROR.
    Using Off365 2016 for MAC. Got a solutions?
    • To post as a guest, your comment is unpublished.
      skyyang · 7 months ago
      Hello, Jonathan,
      This code works well in Windows Office, but it not tested in MAC.
      You should search for a code for working in MAC.
      Thank you!
  • To post as a guest, your comment is unpublished.
    Shazza · 9 months ago
    fileformat: =52 is a nicer was as making macro enabled workbook. fileformat:=51 is normal workbook.
  • To post as a guest, your comment is unpublished.
    Brevig Madison · 1 years ago
    I'm using Excel 2016 for Mac, and when I use this VBA code to achieve the "force save as .xlsm" I get the following error:

    Run-time error '1004':

    Method 'GetSaveAsFilename' of object '_Application' failed

    Any guidance someone could provide around this error and how I may need to adjust the code to work on the Mac version of Excel would be greatly appreciated!
  • To post as a guest, your comment is unpublished.
    ProbablyNotLadyGaga · 1 years ago
    Nice one!

    Saved me a lot of headache! :)
  • To post as a guest, your comment is unpublished.
    RM · 1 years ago
    Saved me a lot of pain - thanks so much
  • To post as a guest, your comment is unpublished.
    AFF · 2 years ago
    This was so useful and worked like a charm thank you :)