un internaute
XLDnaute Impliqué
Bonjour le forum
Je voudrais faire afficher la ligne 5 sur tout le classeur en double clic sur n'importe quelle feuille mais sans avoir macro dans module standard => AfficherMasquerLigne5()
Puis la faire masquer à l'enregistrement
Ce que ça fait maintenant mais avec module AfficherMasquerLigne5()
Merci à vous pour vos éventuelles réponses
Code module standard
Code pour l'enregistrement
Double click ci-dessous
Je voudrais faire afficher la ligne 5 sur tout le classeur en double clic sur n'importe quelle feuille mais sans avoir macro dans module standard => AfficherMasquerLigne5()
Puis la faire masquer à l'enregistrement
Ce que ça fait maintenant mais avec module AfficherMasquerLigne5()
Merci à vous pour vos éventuelles réponses
Code module standard
VB:
Sub AfficherMasquerLigne5() 'Macro pour faire afficher ligne 5 dans tout le classeur
For i = 1 To Sheets.count
If Sheets(i).Name <> "MENU" Then
With Sheets(i)
If .Rows(5).Hidden = True Then
.Rows(5).Hidden = False
Else
.Rows(5).Hidden = True
End If
End With
End If
Next i
End Sub
Code pour l'enregistrement
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim i As Long
Application.ScreenUpdating = False
Dim FeuilleActive As String
Application.EnableEvents = False
FeuilleActive = ActiveSheet.Name
For i = 1 To Sheets.count
On Error Resume Next
If Sheets(i).Name <> "MENU" Then
Sheets(i).Range("F1,H1,I1").EntireColumn.Hidden = True
Sheets(i).Rows(5).Hidden = True
End If
Next i
Range("A1").Select
On Error GoTo 0
Sheets(FeuilleActive).Select
Sortie:
Application.EnableEvents = True
End Sub
Double click ci-dessous
Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Ws As Worksheet
Cancel = Not Cancel
Application.ScreenUpdating = False
Select Case Target.Address
Case "$A$3"
If Not Target.Comment Is Nothing Then AfficherMasquerLigne5 'ligne à supprimer pour éviter le module standard
Case "$J$1"
UsfChoix.Show 0
Case "$E$1"
For Each Ws In Sheets
Ws.Range("F1,H1,I1").EntireColumn.Hidden = Not Ws.Range("F1,H1,I1").EntireColumn.Hidden
Next Ws
Exit Sub
End Select
If Not Intersect(Range("H6:H36"), Target) Is Nothing Then
Cancel = True
TbCoul = Array(8, 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
ElseIf Not Intersect(Range("I6:I36"), Target) Is Nothing Then
Cancel = True
TbCoul = Array(8, 16, 3)
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
End If