VBA pour masquer/afficher des lignes
Résolu/Fermé
Anthelm
Messages postés
198
Date d'inscription
lundi 15 octobre 2018
Statut
Membre
Dernière intervention
2 mars 2024
-
4 févr. 2019 à 20:32
Anthelm Messages postés 198 Date d'inscription lundi 15 octobre 2018 Statut Membre Dernière intervention 2 mars 2024 - 5 févr. 2019 à 19:07
Anthelm Messages postés 198 Date d'inscription lundi 15 octobre 2018 Statut Membre Dernière intervention 2 mars 2024 - 5 févr. 2019 à 19:07
A voir également:
- VBA pour masquer/afficher des lignes
- Application pour masquer les applications - Guide
- Masquer conversation whatsapp - Guide
- Comment masquer les amis sur facebook - Guide
- Afficher mot de passe wifi android - Guide
1 réponse
Anthelm
Messages postés
198
Date d'inscription
lundi 15 octobre 2018
Statut
Membre
Dernière intervention
2 mars 2024
1
4 févr. 2019 à 21:52
4 févr. 2019 à 21:52
Pour masquer les colonnes C à E, vous feriez comment?
Columns(3, 5).Hidden = True ne fonctionne pas...!
Columns(3, 5).Hidden = True ne fonctionne pas...!
4 févr. 2019 à 21:54
5 févr. 2019 à 09:10
les sélectionner, clic droit et faire "masquer".
5 févr. 2019 à 18:53
Bon j'ai bricoler quelque chose, si ça intéresse quelqu'un...
'Macro de masquage
Sub BOX()
'Désignation des variables
Dim Batiments As Integer
Dim Etages As Integer
Dim Types As Integer
Batiments = (Range("BI3") * 11 + 3)
Etages = Range("BI4")
Types = Range("BI5")
'Afficher tout (réinitialiser)
Columns("A:BJ").Hidden = False
Rows("1:150").Hidden = False
'Puis, masquer les colonnes inutiles
'Masquer colonnes selon variable Batiments
If Batiments > 58 Then MsgBox "5 bâtiments MAX !"
If Batiments > 58 Then Batiments = 58
If Batiments < 58 Then Range(Columns(Batiments), Columns(57)).Hidden = True
'Masquer colonnes selon variable Etages
If Etages > 11 Then MsgBox "11 étages MAX !"
If Etages > 11 Then Etages = 11
If Etages < 11 Then Range(Columns(13), Columns(13 - 10 + Etages)).Hidden = True
If Etages < 11 Then Range(Columns(24), Columns(24 - 10 + Etages)).Hidden = True
If Etages < 11 Then Range(Columns(35), Columns(35 - 10 + Etages)).Hidden = True
If Etages < 11 Then Range(Columns(46), Columns(46 - 10 + Etages)).Hidden = True
If Etages < 11 Then Range(Columns(57), Columns(57 - 10 + Etages)).Hidden = True
'Masquer lignes selon variable Types
If Types < 100 Then Range(Rows(102), Rows(3 + Types)).Hidden = True
End Sub
Modifié le 5 févr. 2019 à 19:10
Batiments = (Range("BI3") * 11 + 3)
5 batiments max donc 5x11+3 = 58 au max.
If Batiments < 58 Then Range(Columns(Batiments), Columns(57)).Hidden = True
Si BI3=ou>à 5, ça donne 58 ou plus, la macro ne fait rien.
Si c'est en dessous (4x11+3=47 si j'active 4 bâtiments), masquer de la colonne 47 à 57, j'ai donc bien 11 colonnes de moins sur mon tableau et il me reste les 4x11 colonnes de mes autres bâtiments. + les entêtes.