VBA : Désactiver et Activer les formes conditionnelles

Bonjour,

J'ai un fichier Excel Trop Lourd à cause de plusieurs formes Conditionnelles,

Afin de faciliter l'exploitation du fichier prière de rédiger un code VBA qui sert à désactiver et activer les formes conditionnelles de toutes les feuilles en cliquant sur un seule bouton,

comptant sur votre réactivité habituelle

Merci d'avance,

Bonjour,

c'est par feuille, et possible qu'à partir de 2007 :

    With sh
        .DisplayPageBreaks = False
        .EnableCalculation = False    ' feuille avec données sources contenues dans des fichiers csv ou txt externes.
        ' >=2007: calcul formats conditionnels. = True entraine le recalcul de toutes les formules de la feuille
        If Val(Application.Version) >= 12 Then .EnableFormatConditionsCalculation = False
    End With

Bonjour,

Merci pour votre réponse

Voila ce que j'ai activer :

Sub oui()
With sh
.DisplayPageBreaks = False
.EnableCalculation = False ' feuille avec données sources contenues dans des fichiers csv ou txt externes.
' >=2007: calcul formats conditionnels. = True entraine le recalcul de toutes les formules de la feuille
If Val(Application.Version) >= 12 Then .EnableFormatConditionsCalculation = False
End With
End Sub

Le code que m'avez envoyé mais j'ai reçu un message de débogage au niveau de la balise " .DisplayPageBreaks = False "

Merci de noter que j'utilise microsoft Excel 2021 ,

Aimable Rappel

Bonjour

Avec un exemple du fichier anonymisé il aurait été plus facile de répondre.

Crdlt

Bonjour,

Merci pour votre réponse le voila le fichier

Dans l'attente de votre retour

Il faut le faire sur les feuilles concernées.
Si tu les veux toutes tu peux faire comme ça :

Sub test()
    ' suspendre MFC classeur actif
    onOffMFC False
    '...
    ' rétablir MFC
    onOffMFC True
End Sub

Sub onOffMFC(state As Boolean)
    Dim sh As Worksheet
    For Each sh In Worksheets
        With sh
            .DisplayPageBreaks = False
            .EnableCalculation = False    ' feuille avec données sources contenues dans des fichiers csv ou txt externes.
            ' >=2007: calcul formats conditionnels. = True entraine le recalcul de toutes les formules de la feuille
            If Val(Application.Version) >= 12 Then .EnableFormatConditionsCalculation = False
        End With
    Next sh
End Sub

eric

Bonjour,

Merci pour votre retour,

Ca Fonctionne bien,

avez vous d'autres idées pour que le fichier fonctionne trés bien ? Trés lourd n'est ce pas ?

Merci

Je n'avais pas ouvert ton fichier...

Au niveau des formules je n'ai rien vu d'horrible.
Les MFC c'est vraiment une plaie. Elles sont volatiles, c'est à dire qu'elles se recalculent systématiquement à chaque action sur la feuille.
J'ai survolé un peu leurs formules, pas vu de trucs trop lourds non plus. Il faut éviter les formules matricielles sur de trop grandes plages, tu as l'air de bien limiter à la plage utile.
Le soucis c'est que tu as 14148 calculs à faire dès que tu appuies une touche...

Si les désactiver ne suffit pas à retrouver de la réactivité, à part faire le boulot sur demande en vba je ne vois pas. Mais tu en as une pelletée, travail colossal...
Essaie de voir si tu ne peux pas te passer de certaines susceptibles d'être gourmandes

bonjour Omarbel, Eriiic,

si on remplace les MFCs par VBA ? Voir PJ, je sis, je l'ai fait assez brutal, j'ai enlevé toutes les MFCs de la plage X17:CC60 et ajouter les couleurs avec la macro "MFCs2VBA". Bon, certaines MFCs devraient rester (les weekends, les bordures, ...) mais c'était pour vous montrer les possibilités. Il faut savoir que les MFCs on priorité sur les autres formats. L'advantage de VBA est qu'il vérifie une fois par ligne si "start" et "end" & vos dates en ligne 10 ont quelque chose en commun au lieu de pour chaque couleur.

(PS; Cellule "scroll" W11 est manuellement modifiée à "75")

Bonjour,

attendons de voir si la désactivation des MFC a eut un effet équivalent. Je suis curieux de la réponse

Bonjour les experts,

Je m'excuse pour le retard du réponse, aussi je présente mes sincères appréciations pour votre soutien,

Malheureusement, le fichier est toujours lourd,

Merci pour la réactivité

re,

moi, je passerais en revue tous vos mfcs avec le peigne à poux et déplacerais tous les doublons (mêmes conditions, couleurs différentes) vers VBA. Dès qu'on supprime toutes les MFCs, le fichier n'est plus "lourd"

Merci pour votre réponse,

Prière me communiquer le fichier afin d'analyser si le fichier est convenable pour exploitation

Bien à vous,

C'est presque recommencer, donc un essai avant de faire cela.

Les MFCs des lignes 15:114 et colonnes G, X:CC sont supprimées. Celles de la colonne G sont temporairement remplacées par leur couleur conditionel, celles des autres colonnes par une sorte de MFC in VBA. Est ce fichier maintenant moins lourd ?

Si cela est le cas, pouvez-vous m'expliquer ces MFCs de la colonne G en texte, parce que cette formule, pffffffff.

Bonjour BsAlv,

Merci énormément pour les efforts fournis oui le fichier est moins lourd mais un msgbox s'affiche après chaque insertion d'une donnée,

La réponse à votre question c'est que la colonne G dépond de la colonne E

Par Exemple si je mets sur une des cellules de la colonne E la lettre S ca signifie qu'une nouvelle activité commence,

Bien à vous

re,

c'est possible de télécharger votre dernière version ?

Rechercher des sujets similaires à "vba desactiver activer formes conditionnelles"