XL 2013 Macro pour masquer automatiquement la collone

lestoiles1

XLDnaute Occasionnel
Bonjour,

J'aimerais masquer automatiquement la colonne AE , AF, AG , si les cellules AE36, AF36, AG36 , ne contiennent aucune valeur (comme le mois de Février)

Merci

Lestoiles1
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    12.4 KB · Affichages: 19

Dudu2

XLDnaute Barbatruc
Bonjour,
Le problème n'est pas de masquer le colonnes. Le problème est de déterminer sur quel évènement ce masquage doit intervenir:
- Lors de la saisie d'une des 3 cellules ?
- Lors de l'enregistrement du classeur ?
- Lors de la désactivation de la feuille ?
- etc...
 

Dudu2

XLDnaute Barbatruc
Bonjour,
Je suppose qu'il y a du code VBA pour construire ce calendrier automatique.
C'est dans ce code qu'il faut intégrer le masquage des colonnes.
S'il n'y a pas de code, et que tout est manuel, il faut masquer manuellement.
On ne peut pas deviner ce qu'il y a dans un fichier qu'on n'a pas.
 

lestoiles1

XLDnaute Occasionnel
Private Sub Worksheet_Calculate()
If Range("AD45") = "" Then Range("AD45").EntireColumn.Hidden = True Else Range("AD45").EntireColumn.Hidden = False
If Range("AE45") = "" Then Range("AE45").EntireColumn.Hidden = True Else Range("AE45").EntireColumn.Hidden = False
If Range("AF45") = "" Then Range("AF45").EntireColumn.Hidden = True Else Range("AF45").EntireColumn.Hidden = False
End Sub
 

job75

XLDnaute Barbatruc
Bonjour,

Eh oui lestoiles1, la macro se déclenche quand des formules se recalculent.

C'est pourquoi au post #5 je vous ai demandé s'il y en avait et lesquelles...

Et notez qu'il est plus simple d'écrire :
VB:
Private Sub Worksheet_Calculate()
Columns("AD").Hidden = Range("AD45") = ""
Columns("AE").Hidden = Range("AE45") = ""
Columns("AF").Hidden = Range("AF45") = ""
End Sub
A+
 

lestoiles1

XLDnaute Occasionnel
Salut, j'ai le même problème que toi. Peux-tu partager ta solution s'il te plait ?
Private Sub Worksheet_Calculate()
If Range("AD45") = "" Then Range("AD45").EntireColumn.Hidden = True Else Range("AD45").EntireColumn.Hidden = False
If Range("AE45") = "" Then Range("AE45").EntireColumn.Hidden = True Else Range("AE45").EntireColumn.Hidden = False
If Range("AF45") = "" Then Range("AF45").EntireColumn.Hidden = True Else Range("AF45").EntireColumn.Hidden = False
End Sub
 

Discussions similaires

Réponses
2
Affichages
460

Statistiques des forums

Discussions
312 074
Messages
2 085 059
Membres
102 768
dernier inscrit
clem135164