Afficher / Masquer Colonne selon le résultat d'un calcul (auto)

Résolu
Leoventuras Messages postés 21 Statut Membre -  
Leoventuras Messages postés 21 Statut Membre -
Bonjour,

Je suis actuellement entrain de créer un fichier Excel et j'aimerais qu'il soit le plus dynamique possible. J'ai une macro toute simple qui effectue la somme de plusieurs lignes et affiche ou masque des colonnes en fonctions du résultat (voir code ci-dessous).
Ce que je souhaiterais, c'est que la macro s'effectue en continue. Dès que l'on change un nombre, les colonnes se masquent ou s'affichent en fonction du résultat obtenu.

Est-il possible de faire çà ?

Sub Somme()

Range("B5").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"
If Selection > 50 Then
Columns("E:F").Select
Selection.EntireColumn.Hidden = True
Else
Columns("D:G").Select
Selection.EntireColumn.Hidden = False
End If
Range("B5").Select
End Sub

Leoventuras

2 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    En remplaçant ta macro par celle-ci cela devrait le faire :

    Private Sub Worksheet_Calculate()
    If Application.WorksheetFunction.Sum([B1:B4].Value) > 50 Then
    Columns("E:F").EntireColumn.Hidden = True
    Else
    Columns("D:G").EntireColumn.Hidden = False
    End If
    End Sub
    1
  2. Leoventuras Messages postés 21 Statut Membre 1
     
    Merci beaucoup gbinforme ce que je cherchais !!
    0