Masquer colonne si valeur identique par macro

drop91

XLDnaute Junior
Bonjour,
j'ai un petit soucis avec les années bissextiles sur mon calendrier, lorsque nous sommes sur une année comme 2016, pas de problème sur le mois de février avec les 29 jours, par contre en sélectionnant l'année 2015 par exemple sur l'onglet "paramètres", je n'arrive pas a masquer la colonne BI, j'ai bien essayer avec une macro, pour rendre l'ensemble automatique lorsque l'on change l'année, mais elle ne fonctionne pas.

Sub ChangementAn()

Dim F1 As Worksheet, F2 As Worksheet, F3 As Worksheet
Application.ScreenUpdating = False
Set F1 = Sheets("jan-jun")
Set F2 = Sheets("jul-dec")
Set F3 = Sheets("Parametres")
If Month(F1.Range("BI3")) <> Month(F1.Range("BH3")) Then
F1.Columns("BI").Hidden = True
With F1.Range("AG1:BH1")
.Merge
.BorderAround Weight:=xlThin
End With
Else
F1.Columns("BI").Hidden = False
With F1.Range("AG1:BI1")
.Merge
.BorderAround Weight:=xlThin
.ColumnWidth = 4
End With
End If

End Sub

Si vous pouviez m'aider, et m'indiquer ce qui cloche, cela me rendra bien service.

Par avance, je vous remercie.
 

Pièces jointes

  • essai.xlsm
    49.2 KB · Affichages: 45
  • essai.xlsm
    49.2 KB · Affichages: 29
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Masquer colonne si valeur identique par macro

Bonsoir drop91,

Pas pu vérifier car ton projet VBA est protégé par mot de passe, mais je te propose d'essayer ceci:

Code:
Sub ChangementAn()
Dim F1 As Worksheet, F2 As Worksheet, F3 As Worksheet
Application.ScreenUpdating = False
Set F1 = Sheets("jan-jun")
Set F2 = Sheets("jul-dec")
Set F3 = Sheets("Parametres")
With F1
     .Columns(61).EntireColumn.Hidden = IIf(Day(.Range("BI3"))=29, False, True)
End With
End Sub
Comme tu pourras le constater, tu n'as pas besoin de redéfinir la bordure grasse de droite car la bordure gauche de la colonne BJ l'est déjà.

a +

Cordialement.
 

drop91

XLDnaute Junior
Re : Masquer colonne si valeur identique par macro

Bonjour, merci pour votre réponse, mot de passe enlever sur le fichier initial.
Par contre toujours pas de masquage de colonne sur les années non bissextiles.

Il doit y avoir une commande qui manque quelque part, mais je ne vois pas ou se trouve le bug.
Cdlt
 

Papou-net

XLDnaute Barbatruc
Re : Masquer colonne si valeur identique par macro

Bonsoir drop91,

Après test sur ton fichier, voici la macro fonctionne.

Je te joins une copie pour essai chez toi. si ça ne fonctionne toujours pas, essaie cette variante:

Code:
Sub ChangementAn()
Dim F1 As Worksheet, F2 As Worksheet, F3 As Worksheet
Application.ScreenUpdating = False
Set F1 = Sheets("jan-jun")
'Set F2 = Sheets("jul-dec")
Set F3 = Sheets("Parametres")
With F1
     .Columns(61).EntireColumn.Hidden = IIf(.Range("BI3") = .Range("BJ3"), True, False)
End With
End Sub
Bonne soirée.

Cordialement.
 

Pièces jointes

  • Copie de essai.xlsm
    52 KB · Affichages: 44
  • Copie de essai.xlsm
    52 KB · Affichages: 41

drop91

XLDnaute Junior
Re : Masquer colonne si valeur identique par macro

Bonsoir, je me disais bien qu'il manquait quelque chose. Au final c'est sur la page "parametres" qu'il fallait placer la commande : If Target = Range("B3") Then ChangementAn.

En tout cas un très grand merci pour l'aide.

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 569
dernier inscrit
zeiffel976