Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Tableau trop lourd

mikl63

XLDnaute Nouveau
Salut,
j'utilise un tableau excel pour faire mes comptes.
Tableau très simple puisqu'il n'existe que 3 colonnes et une formule toute simple
Mon problème est que lorsque je souhaite créer une mise en forme conditionnelle, elle alourdit énormément mon fichier et excel devient très long à ouvrir le fichier.
Mon but est uniquement de colorer la ligne des totaux en jaune, d'afficher le texte en gras et de faire un encadrement en gras de la ligne.
Donc ma MEFC était un truc du genre : si la case A est une date, colorier la ligne en jaune...
Ben pas moyen, je n'arrive plus à le faire et sur l'ancien fichier que j'ai et qui fonctionnait, ca bug sévère.
Quelqu'un saurait m'expliquer pourquoi mon fichier d'origine est devenu très lourd ?
Je joins le tableau en cours : test est celui où la MEFC fonctionne mais le fichier est trop lourd
test2 sans MEFC.
test : Ce lien n'existe plus
test2 : Ce lien n'existe plus

Merci d'avance,
 

Gardien de phare

XLDnaute Accro
Re : Tableau trop lourd

Bonjour,

La MEFC s'applique à la plage A6:C13613 ! Est-ce vraiment nécessaire ? Ton tableau va-t-il atteindre cette dimension ?

Edit : bonjour tous, coucou 00
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Tableau trop lourd

Bonjour, mikl63, François , le Forum,

Pour alléger le fichier, faire l'essai de cette macro, sur une copie du fichier de travail après suppression de la MFC existante :

Code:
Option Explicit
Sub MFC_sous_totaux()
Dim c As Range
For Each c In Sheets("2013").Range("A2", Range("A65536").End(xlUp))
    If IsDate(c) Then
        With c.Resize(, 3)
            .Interior.ColorIndex = 36
            .Font.Bold = True
            .Font.Size = 11
        End With
    
        With c.Resize(, 3).Borders(xlEdgeTop)
            .Weight = xlMedium
        End With
    
        With c.Resize(, 3).Borders(xlEdgeBottom)
            .Weight = xlMedium
        End With
    End If
Next
End Sub

A bientôt

P. S. : Bonjour, Staple1600
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Tableau trop lourd

Bonjour à tous


Pour le plaisir de croiser 00 et pour rester dans la quête de l'allégement
Code:
Sub MFC_sous_totauxREGIMEPHASEI()
Dim c As Range
For Each c In Sheets(1).Range("A2", Range("A65536").End(xlUp))
    If IsDate(c) Then
        With c.Resize(, 3)
        .Borders(8).Weight = xlMedium
        .Borders(9).Weight = xlMedium
        .Interior.ColorIndex = 36
        .Font.Bold = True
        .Font.Size = 11
        End With
    End If
Next
End Sub
Code:
Sub MFC_sous_totauxREGIMEPHASEII()
Dim c As Range
For Each c In Sheets(1).Range("A2", Range("A65536").End(xlUp))
    If IsDate(c) Then
        With c.Resize(, 3)
        .BorderAround 1, -4138
        .Interior.ColorIndex = 36
        .Font.Bold = True
        .Font.Size = 11
        End With
    End If
Next
End Sub
 

mikl63

XLDnaute Nouveau
Re : Tableau trop lourd

J'ai galéré un peu avec cette macro et le résultat est qu'elle a alourdit le fichier : 1.63 Mo
De plus, ce système de macros m'oblige à afficher la macro puis exécuter à chaque fois ? pas moyen de rendre ça automatique ?
 

mikl63

XLDnaute Nouveau
Re : Tableau trop lourd

Et ben voilà ! j'ai recrée mon tableau à 0.
Ma formule fonctionne, ma MEFC aussi et le tableau ne pèse que 59 Ko pour 163 lignes.
Je ne sais toujours pas pourquoi le 1er était si lourd mais l'important est que ça fonctionne maintenant.
Et en plus, j'ai appris à faire ça tout seul à force de tâtonner, je ne savais pas le faire la semaine dernière.
Prochain étape : se familiariser avec les macros
Que peut on faire avec et comment les gérer ?
 

Efgé

XLDnaute Barbatruc
Re : Tableau trop lourd

Bonjour à tous
Une idée:
Supprimer toutes les lignes et colonnes vides de toutes les feuilles puis utiliser ceci :

VB:
Sub tentative()
Dim ThF As Worksheet, F As Worksheet
Set ThF = ActiveSheet
Application.ScreenUpdating = False
        For Each F In Worksheets
       F.Activate
      ActiveSheet.UsedRange
Next F
ThF.Activate
End Sub

Ca m'a déja sauvé.
Cordialement
 

Discussions similaires

Réponses
16
Affichages
421
Réponses
2
Affichages
217
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…