Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

masquer toutes les colonnes sauf celle de la cellule active

michel.dupont

XLDnaute Occasionnel
bonjour
dans une feuille comprenant 733 colonnes (colonne A + 2 colonnes par jour dans l'année...donc colonne
A jusquà la colonne ABC)...
comment par macro masquer toutes les colonnes (excepté la colonne A) dont la cellule en ligne 2 n'est pas égale en valeur (il s'agit de date jj/mm/aa) à une cellule de référence (qui est la cellule "ABE5")
autrement dit..comment ne conserver dès lors que la première colonne (colonne A) et les colonnes qui ont en ligne 2 une cellule égale à la valeur de la cellule ABE5
en pratique par exemple - si la cellule FB 2 et FC 2 ont une date identique à celle reprise en ABE5 seuls les colonnes FB et FC doivent être affichées en plus de la colonne A qui doit être toujours visible..
bien entendu FB et FC peuvent varier...
j'espère ne pas avoir été trop "brouillon"
merci de votre intérêt
Michel
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum, michel.dupont, Victor21, Lone-Wolf, job75

@job75
Je me suis permis de reprendre ta macro initiale pour la modifier comme suit
Tu valides la chose?
(ou il y a un truc qui m'échappe et qui explique pourquoi tu n'as pas opté pour ce "allione" ?)
VB:
Sub MasqueDemasque()
Application.ScreenUpdating = False
Rows(1).Insert
With [B1:ABC1]
.Value = "=1/(B3=$ABE6)"
On Error Resume Next 'si aucune SpecialCell
.SpecialCells(-4123, 16).EntireColumn.Hidden = Not .SpecialCells(-4123, 16).EntireColumn.Hidden
End With
Rows(1).Delete
End Sub
 
Dernière édition:

Victor21

XLDnaute Barbatruc
Re, Lone-wolf.
[...] relis le message de Michel. Mise à part la colonne A, il ne veux que 2 colonnes qui soient affichées. [...]
"Mis à part" est invariable, et vouloir, à la 3° personne du singulier de l'indicatif présent, se termine par un T.
Et...
... Moi aussi, je sais être lourd
 

job75

XLDnaute Barbatruc
Pas du tout JM, et je te laisse chercher pourquoi.
 

job75

XLDnaute Barbatruc
Re,

Si l'on veut une seule macro on peut utiliser celle-ci :
Code:
Sub MasqueDemasque()
'raccourci clavier Ctrl+M
Application.ScreenUpdating = False
If TypeName([Masque]) <> "Boolean" Then ThisWorkbook.Names.Add "Masque", False
ThisWorkbook.Names.Add "Masque", Not [Masque]
Columns.Hidden = False
If [Masque] Then
    Rows(1).Insert
    [B1:ABC1] = "=1/(B3=$ABE6)"
    On Error Resume Next 'si aucune SpecialCell
    [B1:ABC1].SpecialCells(xlCellTypeFormulas, 16).EntireColumn.Hidden = True
    Rows(1).Delete
End If
End Sub
A+
 

Staple1600

XLDnaute Barbatruc
Re

@job75
Merci, je n'avais pas pensé à cela.
J'ai donc testé les deux macros comme suit*
Mais elles font toujours la même chose, non ?
(1ère exécution masque, la 2nde démasque)

*: macro pour créer la situation avant de tester les macros.
VB:
Sub MiseEnSituation()
Range("A2,C2,E2,ABE5") = Date
Range("G:I,M:N").EntireColumn.Hidden = True
End Sub
 

michel.dupont

XLDnaute Occasionnel
Bonjour
merci à tous pour votre intérêt manifeste
je joins comme demandé mon fichier
mon projet est celui de créer un fichier de réservation de véhicule pour un service d'accueil pour personnes handicapées...j'espère que le fichier en attaché vous permettra de comprendre ma demande
bonne journée à tous
Michel
 

Discussions similaires

Réponses
2
Affichages
177
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…