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

Comment vérifier la taille de chaque feuille de calcul du classeur?

Supposons que vous ayez un grand classeur qui contient plusieurs feuilles de calcul et que vous souhaitiez maintenant connaître la taille de chaque feuille de calcul pour déterminer quelle feuille doit être réduite. Existe-t-il des méthodes rapides pour faire face à cette tâche?

Vérifiez la taille de chaque feuille de calcul avec le code VBA

Vérifiez la taille de chaque feuille de calcul avec Kutools for Excel

Onglet Office Activez la modification et la navigation par onglets dans Office et simplifiez considérablement 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, les graphiques et tout autre élément les plus utilisés ou les plus complexes à vos favoris et réutilisez-les rapidement à l'avenir.
  • Plus de 20 fonctionnalités de texte: 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.
  • Outils de fusion: Plusieurs classeurs et feuilles en un seul; Fusionner plusieurs cellules / lignes / colonnes sans perdre de données; Fusionner les lignes en double et la somme.
  • Outils de fractionnement: Diviser les données en plusieurs feuilles en fonction de la valeur; Un classeur vers plusieurs fichiers Excel, PDF ou CSV; Une colonne à plusieurs colonnes.
  • Coller sauter Lignes cachées / filtrées; Compte et somme par couleur d'arrière-plan; Envoyez des e-mails personnalisés à plusieurs destinataires en masse.
  • Super filtre: Créez des schémas de filtres avancés et appliquez-les à toutes les feuilles; Trier par semaine, jour, fréquence et plus encore; Filtre par gras, formules, commentaire ...
  • Plus de 300 fonctionnalités puissantes; Fonctionne avec Office 2007-2019 et 365; Prend en charge toutes les langues; Déploiement facile dans votre entreprise ou organisation.

flèche bleue bulle droite Vérifiez la taille de chaque feuille de calcul avec le code VBA


Avec le code VBA suivant, vous pouvez obtenir rapidement la taille de chaque feuille de calcul dans votre classeur. Veuillez faire comme ceci:

1. Maintenez le ALT + F11 clés, et il ouvre le Fenêtre Microsoft Visual Basic pour Applications.

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

Code VBA: vérifiez la taille de chaque feuille de calcul dans un classeur </ p>

Sub WorksheetSizes()
'Update 20140526
Dim xWs As Worksheet
Dim Rng As Range
Dim xOutWs As Worksheet
Dim xOutFile As String
Dim xOutName As String
xOutName = "KutoolsforExcel"
xOutFile = ThisWorkbook.Path & "\TempWb.xls"
On Error Resume Next
Application.DisplayAlerts = False
Err = 0
Set xOutWs = Application.Worksheets(xOutName)
If Err = 0 Then
    xOutWs.Delete
    Err = 0
End If
With Application.ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1))
    .Name = xOutName
    .Range("A1").Resize(1, 2).Value = Array("Worksheet Name", "Size")
End With
Set xOutWs = Application.Worksheets(xOutName)
Application.ScreenUpdating = False
xIndex = 1
For Each xWs In Application.ActiveWorkbook.Worksheets
    If xWs.Name <> xOutName Then
        xWs.Copy
        Application.ActiveWorkbook.SaveAs xOutFile
        Application.ActiveWorkbook.Close SaveChanges:=False
        Set Rng = xOutWs.Range("A1").Offset(xIndex, 0)
        Rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile))
        Kill xOutFile
        xIndex = xIndex + 1
    End If
Next
Application.ScreenUpdating = True
Application.Application.DisplayAlerts = True
End Sub

3. Puis appuyez F5 clé pour exécuter ce code, et une nouvelle feuille de calcul nommée KutoolsforExcel sera inséré dans le classeur actuel qui contient le nom de chaque feuille de calcul et la taille de fichier, et l'unité est Bit. Voir la capture d'écran:

doc-check-sheet-size1


flèche bleue bulle droite Vérifiez la taille de chaque feuille de calcul avec Kutools for Excel

Si vous avez Kutools pour Excel, Avec son Classeur fractionné utilitaire, vous pouvez diviser l'ensemble du classeur en fichiers distincts, puis accéder au dossier spécifique pour vérifier la taille de chaque fichier.

Kutools pour Excel comprend plus de 300 outils Excel pratiques. Essai gratuit sans limitation de 30 jours. Obtenez-le maintenant.

Après avoir installé Kutools for Excel, procédez comme suit:

1. Ouvrez le classeur dont vous souhaitez vérifier la taille de chaque feuille de calcul, puis cliquez sur Entreprise > Outils de classeur > Classeur fractionné, voir capture d'écran:

doc-check-sheet-size1

2. Dans le Classeur fractionné boîte de dialogue, vérifiez toutes les feuilles de calcul et cliquez sur Divisé puis spécifiez un dossier dans lequel placer les nouveaux fichiers de classeur. Voir les captures d'écran:

doc-check-sheet-size3
-1
doc-check-sheet-size4

3. Et puis chaque feuille de calcul de votre classeur actuel sera enregistrée en tant que fichier Excel séparé, vous pouvez aller dans votre dossier spécifique pour vérifier la taille de chaque classeur.

doc-check-sheet-size1

Pour en savoir plus sur cette fonctionnalité de classeur fractionné.


Articles Liés:

Comment diviser un classeur pour séparer les fichiers Excel dans Excel?

Comment exporter et enregistrer des feuilles et des feuilles de calcul en tant que nouveau classeur dans Excel?


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ée...
  • 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 gammes...
  • 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 cellules...
  • 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 PDF...
  • 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 (9)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Très utile. Merci!!
Anand
Ce commentaire a été minimisé par le modérateur sur le site
Merci d'avoir fourni l'extrait de code au public. C'est l'une des meilleures routines que j'ai trouvées. Voici quelques modifications : 1) Ajoutez "Dim xIndex as Long" en haut si vous utilisez Option Explicit. 2) Ajoutez ceci à l'intérieur de la boucle For pour gérer les feuilles masquées (sinon cela plante): xWs.Visible = xlSheetVisible 3) Si vous avez des feuilles de "graphique" pleine page, vous devez copier le code de la boucle et parcourir l'application. Collection ActiveWorkbook.Charts. Si vous faites cela, changez la déclaration de xWs de "Sheet" à "Object". 4) Pour un indicateur d'état bon marché (ou pour des problèmes de débogage), ajoutez cette ligne dans la boucle For : Debug.Print "Calculating Worksheet Sizes, Sheet " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name
Ben S.
Ce commentaire a été minimisé par le modérateur sur le site
Hey Ben, Pourriez-vous repasser toute la chaîne de texte avec les éléments #2 et #4 de votre e-mail ajoutés ? Mes connaissances en VBA sont assez limitées et je ne sais pas exactement où les ajouter dans la boucle For. Mon classeur contient un certain nombre de feuilles masquées et continue de planter lors de l'exécution de la macro. Merci Bob
Bob M
Ce commentaire a été minimisé par le modérateur sur le site
Voici une copie de la routine avec quelques améliorations que j'ai ajoutées. J'ai dû le diviser en plusieurs messages en raison des limites du site. Public Sub WorksheetSizes() 'Mise à jour 20140526' https://www.extendoffice.com/documents/excel/1682-excel-check-size-of-each-sheet.html<br />' ' BS 4/4/2016 : modifié pour avoir une barre d'état et formater la sortie. ' Correction des feuilles cachées qui l'ont fait planter. ' Ajout de la prise en charge des feuilles de graphique Dim xWs As Object ' Feuille de calcul ou graphique Dim rng As Range Dim xOutWs As Worksheet Dim xOutFile As String Dim xOutName As String Dim xIndex As Long On Error GoTo ErrorHandler Application.Cursor = xlWait xOutName = "KutoolsforExcel" xOutFile = ThisWorkbook.Path & "\TempWb.xls" On Error Resume Next Application.DisplayAlerts = False Err = 0 Set xOutWs = Application.Worksheets(xOutName) If Err = 0 Then xOutWs.Delete Err = 0 End If With Application.ActiveWorkbook.Worksheets .Add(Before:=Application.Worksheets(1)) .Name = xOutName .Range("A1").Resize(1, 2).Value = Array("Worksheet Name", "Size") End With Set xOutWs = Application.Worksheets(xOutName) Application.ScreenUpdating = False xIndex = 1 Debug.Print ThisWorkbook.Path For Each xWs In Application.ActiveWorkbook.Worksheets If xWs.Name xOutName Then Application.StatusBar = "Calcul des tailles de feuille de calcul, Feuille " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug.Print "Calcul de W orksheet Sizes, Sheet " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' incluent ceci afin que CTRL+Break puisse être détecté. '--- coller pause ---
Ben S.
Ce commentaire a été minimisé par le modérateur sur le site
' Partie 2 sur 3 '--- coller pause --- xWs.Visible = xlSheetVisible ' xOutFile = ThisWorkbook.Path & "\" & xWs.Name & ".xls" xWs.CopyQ Application.ActiveWorkbook.SaveAs xOutFile Application.ActiveWorkbook .Fermer SaveChanges :=False Set rng = xOutWs.Range("A1").Offset(xIndex, 0) rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile)) Kill xOutFile xIndex = xIndex + 1 End If Next ' Répétez ce qui précède pour les feuilles de graphique. Pour chaque xWs dans Application.ActiveWorkbook.Charts If xWs.Name xOutName Then Application.StatusBar = "Calcul des tailles de feuille de calcul, feuille " & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug. Imprimer "Calcul des tailles de feuille de calcul, feuille " & xIndex & " de " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' inclut ceci afin que CTRL + Break puisse être détecté. xWs.Visible = xlSheetVisible xOutFile = ThisWorkbook.Path & "\" & xWs.Name & ".xls" xWs.Copy Application.ActiveWorkbook.SaveAs xOutFile Application.ActiveWorkbook.Close SaveChanges:=False Set rng = xOutWs.Range("A1 ").Offset(xIndex, 0) rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile)) 'Kill xOutFile xIndex = xIndex + 1 End If Next '--- paste break ---
Ben S.
Ce commentaire a été minimisé par le modérateur sur le site
' Partie 3 sur 3 '--- coller pause --- ' Formater la feuille de sortie Application.Sheets(xOutName).Activate Columns("B:B").Select Selection.NumberFormat = "#,##0_);( #,##0)" Columns("A:B").Select Columns("A:B").EntireColumn.AutoFit Range("A1").Select ' Encore mieux, formatez-le comme un tableau. ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:B" & xIndex), , xlYes).Name = "WorksheetSizes" Application.ScreenUpdating = True Application.Application.DisplayAlerts = True Application.StatusBar = "" Application.Cursor = xlDefault Exit Sub ErrorHandler : MsgBox "Error #" & Err.Number & " - " & Err.Description & vbCrLf & "in procedure WorksheetSizes" End Sub
Ben S.
Ce commentaire a été minimisé par le modérateur sur le site
Très très très très très utile.
Je vous remercie!!
juliana
Ce commentaire a été minimisé par le modérateur sur le site
Merci, très utile,
J'avais un tas de formules inutiles dans une feuille et je viens de supprimer que le fichier fonctionne maintenant correctement.
Tout cela n'arrive que parce que j'ai pu trouver la taille de chaque feuille,
Merci encore.

Anson
Anson
Ce commentaire a été minimisé par le modérateur sur le site
Devrait probablement ajouter ceci entre les lignes 9 et 10 au cas où certaines feuilles seraient masquées pour éviter que le code ne plante
Pour chaque xWs dans les feuilles : xWs.Visible = True : Suivant
Rodolfo Solis
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