VBA pour masquer/afficher des lignes
Résolu
Anthelm
Messages postés
198
Date d'inscription
Statut
Membre
Dernière intervention
-
Anthelm Messages postés 198 Date d'inscription Statut Membre Dernière intervention -
Anthelm Messages postés 198 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais faire un bouton et/ou une macro pour afficher/masquer des lignes et des colonnes dans le tableau.
Mon tableau démarre ligne 3 à cause des entêtes mais admettons qu'il soit ligne 1 pour la description:
Si j'ai besoin de seulement 18 lignes, j'aimerais pouvoir saisir "18" dans une cellule ou dans une "messagebox", et qu'il ne laisse que les lignes 1 à 18.
Si j'ai besoin des 50 lignes du tableau, je saisis "50"...
Si vous pouvez m'aiguiller sur une piste svp, j'essaierais ensuite d'utiliser la même méthode pour les colonnes.
La il faut voir le fichier pour comprendre mais: il y a 5 bâtiments et 10 étages par bâtiments prévus dans le tableau. Il faudrait pouvoir afficher seulement le bon nombre (exemple: seulement 2 bâtiments de 3 étages)...
Le tableur va me servir à compter le nombre de chaque éléments par étage et leur nombre total, c'est très basique.
Si vous créez un bouton ou une cellule sur le fichier, vous pouvez le faire n'importe ou, je me débrouillerais...
Merci beaucoup!
https://mon-partage.fr/f/cG1uurLF/
Je souhaiterais faire un bouton et/ou une macro pour afficher/masquer des lignes et des colonnes dans le tableau.
Mon tableau démarre ligne 3 à cause des entêtes mais admettons qu'il soit ligne 1 pour la description:
Si j'ai besoin de seulement 18 lignes, j'aimerais pouvoir saisir "18" dans une cellule ou dans une "messagebox", et qu'il ne laisse que les lignes 1 à 18.
Si j'ai besoin des 50 lignes du tableau, je saisis "50"...
Si vous pouvez m'aiguiller sur une piste svp, j'essaierais ensuite d'utiliser la même méthode pour les colonnes.
La il faut voir le fichier pour comprendre mais: il y a 5 bâtiments et 10 étages par bâtiments prévus dans le tableau. Il faudrait pouvoir afficher seulement le bon nombre (exemple: seulement 2 bâtiments de 3 étages)...
Le tableur va me servir à compter le nombre de chaque éléments par étage et leur nombre total, c'est très basique.
Si vous créez un bouton ou une cellule sur le fichier, vous pouvez le faire n'importe ou, je me débrouillerais...
Merci beaucoup!
https://mon-partage.fr/f/cG1uurLF/
A voir également:
- VBA pour masquer/afficher des lignes
- Partager des photos en ligne - Guide
- Masquer conversation whatsapp - Guide
- Comment masquer les amis sur facebook - Guide
- Comment appeler en masquer - Guide
- Application pour masquer les applications - Guide
les sélectionner, clic droit et faire "masquer".
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
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.