XL 2019 Masquage de colonnes selon plusieurs conditions (cellules)

Theobaldinho

XLDnaute Nouveau
Bonjour,

Je me permets de vous solliciter car après avoir essayé plusieurs solutions proposées, aucune d'elle ne m'a donné satisfaction.

Dans le fichier de suivi budgétaire dont je cherche à simplifier l'utilisation, je souhaite intégrer une macro dynamique me permettant d'afficher ou masquer certaines colonnes (F:EG) en fonction de valeurs dans plusieurs cellules (D2, A5 et B5).
Ainsi si l'utilisateur renseigne en D2 qu'il consomme du budget, je souhaite qu'il puisse choisir quelle version est applicable (en A5) et le mois concerné (B5) et que cela n'affiche que les colonne concernées. Pour ce faire, j'ai mis des calculs dans les cellules des cellules F2 à EG; le résultat est 1 quand la colonne doit être affichée et 0 quand elle doit être masquée.

A l'inverse, s'il construit le budget, il faut que toutes les colonnes soient affichées (et donc que la valeur soit 1 dans les cellules des cellules F2 à EG2).

L'idée est que si l'utilisateur change, l'objectif (consommation, construction ou juste reporting), le mois, ou la version du budget, cela puisse s'adapter.

Pourriez-vous m'aider, s'il vous plaît ?

Cordialement,


Theobaldinho
 

gbinforme

XLDnaute Impliqué
Bonjour,

dont je cherche à simplifier l'utilisation, je souhaite intégrer une macro
Avec ce que tu dis je n'ai pas l'impression que tu as choisis une solution simple ni très efficace car même si c'est de l'informatique il y a sans doute mieux à faire que d'utiliser des 1 et des zéros.
Cependant l'on ne peut avoir qu'une vague idée, alors je peux me tromper.;)
 

GALOUGALOU

XLDnaute Accro
bonjour theobaldinho bonjour gbinforme bonjour le forum
pour vous aider il est préférable d'essayer de mettre au point un classeur démonstration, pour lequel les membres de xld vous aideront à mettre au point vos formules et macro.
pour commencer vous pouvez tester par formule les cellules, d2 a5 b5
un exemple, mais à vous de voir le test à effectuer
VB:
=SI(ET(D2>=1;A5>=1;B5>=1);"0";"1")
ensuite une macro avec une boucle pour tester la présence de 0 dans la ligne 2,de la colonne F à EG
Code:
Sub test()
Dim col
For col = 6 To 137
If Cells(2, col) = "0" Then
 Columns(col).EntireColumn.Hidden = True
 End If
 Next
End Sub
une macro pour afficher toutes les colonnes masquées
Code:
Sub afficher()

    Columns("F:EG").EntireColumn.Hidden = False
End Sub
cdt
galougalou
 

Discussions similaires

Statistiques des forums

Discussions
311 723
Messages
2 081 932
Membres
101 844
dernier inscrit
pktla