Autres [RÉSOLU] Pour faire afficher colonne F par double clic dans tout le classeur

un internaute

XLDnaute Impliqué
Bonjour le forum
Macro dans le module standard ci-dessous

VB:
Sub AfficherMasquerColonneF()
'  ActiveSheet.Unprotect
  With ActiveSheet
    If .Columns("F:F").Hidden = True Then
      .Columns("F:F").Hidden = False
    Else: .Columns("F:F").Hidden = True
    End If
  End With
End Sub

Dans ThisWorkbook le code
Double clic cellule E2

Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
 Cancel = Not Cancel
  Select Case Target.Address
    Case "$A$3": If Not Target.Comment Is Nothing Then AfficherMasquerLigne5
    Case "$E$2"
      Columns("F:F").Hidden = Not Columns("F:F").Hidden
      Case "$G$1"
         UsfChoix.Show 0
    Case Else
  End Select

     If Not Intersect(Range("D3"), Target) Is Nothing Then
    Cancel = True
    TbCoul = Array(3, 5, 5, 5)
    Tb = Array("", "SP 95", "SP 98")

    'X = UCase(Trim(Target))   'Pour mettre en Majuscule
    X = (Trim(Target))
    If UBound(Filter(Tb, X)) >= 0 Then
      Indice = Application.Match(X, Tb, 0) Mod (1 + UBound(Tb))
        Target = Tb(Indice)
        Couleur = TbCoul(Indice)
        If Couleur = 0 Then
          Couleur = Target.Offset(0, -1).Interior.ColorIndex
        End If
        Target.Interior.ColorIndex = Couleur
    Else
        Target = ""
    End If

         ElseIf Not Intersect(Range("D2", "D4:D5"), Target) Is Nothing Then
    Cancel = True
    TbCoul = Array(3, 5)
    Tb = Array("", "toto")

    'X = UCase(Trim(Target))   'Pour mettre en Majuscule
    X = (Trim(Target))
    If UBound(Filter(Tb, X)) >= 0 Then
      Indice = Application.Match(X, Tb, 0) Mod (1 + UBound(Tb))
        Target = Tb(Indice)
        Couleur = TbCoul(Indice)
        If Couleur = 0 Then
          Couleur = Target.Offset(0, -1).Interior.ColorIndex
        End If
        Target.Interior.ColorIndex = Couleur
    Else
        Target = ""
    End If
End If
End Sub

Merci pour vos éventuels retours
 
Dernière édition:

un internaute

XLDnaute Impliqué
re le forum
Quel C$N!!!
VB:
    Dim Fe As Worksheet
    Cancel = True
    If Target.Address = "$A$3" Then                                        'Ou If Target.Address = "$A$3" Then mais avec des $ "$A$3"
        If Not Target.Comment Is Nothing Then AfficherMasquerLigne5
    
    ElseIf Target.Address(0, 0) = "E1" Then                                 'Ou  ElseIf Target.Address(0, 0) = "E2" Then  mais E2 sans $ "E2"
        'cache ou affiche toutes les colonnes F de toutes les feuilles du classeur
        For Each Fe In Worksheets
            Fe.Columns(6).EntireColumn.Hidden = Not Fe.Columns(6).EntireColumn.Hidden
        Next Fe
    ElseIf Target.Address(0, 0) = "G1" Then
        UsfChoix.Show 0
    End If
Cordialement et bonne journée à vous tous
 

Discussions similaires

Réponses
2
Affichages
248

Statistiques des forums

Discussions
315 093
Messages
2 116 138
Membres
112 669
dernier inscrit
Guigui2502