Note: The other languages of the website are Google-translated. Back to English
English English

Comment enregistrer toutes les feuilles de calcul en tant que valeurs uniquement?

Si vous avez un classeur qui contient plusieurs formules, vous devez maintenant distribuer ce fichier à d'autres utilisateurs, vous ne souhaitez pas afficher les formules mais seules les valeurs sont affichées. Normalement, nous pouvons enregistrer rapidement une feuille de calcul en tant que valeurs en copiant et en collant les données en tant que valeurs uniquement. Mais, comment pouvez-vous enregistrer toutes les feuilles de calcul en tant que valeurs uniquement sans les copier et les coller une par une?

Enregistrer toutes les feuilles de calcul en tant que valeurs uniquement avec le code VBA


flèche bleue bulle droite Enregistrer toutes les feuilles de calcul en tant que valeurs uniquement avec le code VBA

Le code VBA suivant peut vous aider à enregistrer rapidement toutes les feuilles en tant que valeurs (pas de formules) et à conserver toute la mise en forme des cellules. Veuillez faire comme ceci:

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

2Cliquez sur insérer > Moduleet collez le code suivant dans le Module Fenêtre.

Code VBA: enregistrez toutes les feuilles de calcul sous forme de valeurs uniquement:

Sub Saveasvalue()
'Updateby Extendoffice
    Dim wsh As Worksheet
    For Each wsh In ThisWorkbook.Worksheets
        wsh.Cells.Copy
        wsh.Cells.PasteSpecial xlPasteValues
    Next
    Application.CutCopyMode = False
End Sub

3. Puis appuyez F5 clé pour exécuter ce code, et l'ensemble du classeur a été enregistré en tant que valeurs uniquement, toutes les formules ont été supprimées à la fois, ne laissant que les valeurs avec la mise en forme de cellule.

Notes: Avant d'appliquer le code, vous pouvez d'abord enregistrer une copie du classeur.


Les meilleurs outils de productivité de bureau

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 e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • 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 par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets 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 des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (18)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Merci! Le code VBA a fonctionné à merveille.
Une chose que j'ai remarquée cependant, lorsque j'ai essayé de l'utiliser sur un classeur avec Filtre sur certaines cellules, cela ne fonctionnera pas.
Une solution de contournement pour que ce code fonctionne sans désactiver le filtre ?
Ce commentaire a été minimisé par le modérateur sur le site
J'ai le même problème lors de l'utilisation du code VBA avec filtre. Avez-vous eu une solution pour cela?
Ce commentaire a été minimisé par le modérateur sur le site
Hey, avez-vous pu régler ce problème ? J'ai le même problème
Ce commentaire a été minimisé par le modérateur sur le site
Très bien! Il a résolu beaucoup de mes problèmes. Merci beaucoup. Salutations.
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup Bro..c'est incroyable..m'a beaucoup aidé.
Ce commentaire a été minimisé par le modérateur sur le site
Sous Saveasvalue()
'Mettre à jour par Extendoffice 20161025
Dim wsh comme feuille de calcul
Pour chaque wsh dans ThisWorkbook.Worksheets
wsh.Cells.Copy
wsh.Cells.PasteSpecial xlPasteValues ​​- obtenir l'erreur d'exécution 1004 - QUELQU'UN PEUT-IL AIDER À CE SUJET.
Suivant
Application.CutCopyMode = Faux
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
quand j'exécute ce code, j'obtiens l'erreur "obtenir l'erreur d'exécution 1004".
Pour votre information, dans mon Excel, il y a des cellules de fusion.

Ce sera utile si quelqu'un donne une solution

Merci
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Mirna,
Le code ci-dessus fonctionne bien dans mon classeur, quelle version d'Excel utilisez-vous ?
Ce commentaire a été minimisé par le modérateur sur le site
Ça marche bien. Merci.

@mirna : vous devez déprotéger la feuille ou la cellule. VB n'aime pas le mode de protection :)
Ce commentaire a été minimisé par le modérateur sur le site
Funcionou !! Muito Bom !!!
Ce commentaire a été minimisé par le modérateur sur le site
Tengo ese código, si bien es cierto funciona pero quisiera que no considere algunas hojas de mi archivo excel. se puede ?
Salutations.
Ce commentaire a été minimisé par le modérateur sur le site
Retirez tous les filtres/protections de toutes les feuilles. devrait fonctionner parfaitement.
Ce commentaire a été minimisé par le modérateur sur le site
Bon! Excellent! J'ai besoin de ça mais pas de draps
Ce commentaire a été minimisé par le modérateur sur le site
J'ai besoin de publier des états financiers basés sur Excel avec des regroupements. Cela a fonctionné pour effacer toutes les formules et ne laisser que les chiffres. D'autres méthodes que j'ai essayées ont effacé les groupements.
Ce commentaire a été minimisé par le modérateur sur le site
Existe-t-il un moyen d'annuler cela si vous avez oublié de sauvegarder d'abord la version de la formule ?
Ce commentaire a été minimisé par le modérateur sur le site
Il fonctionne bien mais j'ai besoin d'un VBA de pâte comme valeur pour un tas de classeurs Excel.



Ce commentaire a été minimisé par le modérateur sur le site
Hi,
C'est ce que j'utilise (je quitte le fichier automatiquement pour ne pas enregistrer accidentellement avec des valeurs uniquement).

Mais je voulais garder une seule feuille enregistrée "normalement" parce que j'y ai une liste déroulante que je ne voudrais pas perdre lors du partage du fichier.


Quelqu'un peut-il m'aider à le faire?

Merci !


Sous Saveasvalue()

Dim wsh comme feuille de calcul
Pour chaque wsh dans ThisWorkbook.Worksheets
wsh.Cells.Copy
wsh.Cells.PasteSpecial xlPasteValues
Suivant
Application.CutCopyMode = Faux

savename = Application.GetSaveAsFilename(fileFilter:="Fichiers Exel (*.xlsx), *.xlsx")
ActiveWorkbook.SaveAs Filename :=savename, FileFormat :=51

Application.DisplayAlerts=False 'sortie sans alerte
Application.Quit
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Sämst shjkjhgasghjdfsjhkfdgsdjhgafgb,ja u fdsvjkhgfkjahfg ka khdfzhjkg
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés