Dans les 2 cas ça fonctionne mais quel est le plus logique?

Bonjour le forum

J'ai mis la macro ci-dessous à 2 endroits (1 en commentaires tout en en bas) quel est le plus logique?

Merci à vous pour vos éventuels retours

Private Sub Workbook_Open()
Dim Sh As Worksheet
  For Each Sh In Sheets
  Protection Sh
    Next Sh
End Sub
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Sh As Worksheet
  Application.ScreenUpdating = False  'Rafraichissement écran
  For Each Sh In ThisWorkbook.Worksheets
    Sh.Select
    Tri
    Range("A1").Select
  Next Sh
  Application.ScreenUpdating = True
End Sub

Private Sub Workbook_Open()
Dim Sh As Worksheet
  For Each Sh In Sheets
  Protection Sh
    Next Sh
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim N As Integer, Couleur As Integer, Indice As Integer
Dim X As String
Dim Tb, TbCoul

 Application.ScreenUpdating = False
If Not Intersect(Range("C3:C100"), Target) Is Nothing Then
    Cancel = True
    TbCoul = Array(8, 4, 15)
    Tb = Array("", "a")

    '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("D3:D100"), Target) Is Nothing Then
    Cancel = True
    TbCoul = Array(8, 38)
    Tb = Array("", "b")
    '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
Application.ScreenUpdating = True
End Sub

'Private Sub Workbook_Open()
'Dim wSheet
'For Each wSheet In Worksheets
'Protection wSheet
'Next wSheet
'End Sub

Bonjour Papi le forum

bah c'est compliqué, est-ce que tu préfères le blanc ou le blanc???

pour moi le plus logique quand on s'adresse au feuilles de travail c'est worksheets, mais sheets marche aussi

bon weekend

a+

Papou

Bonjour paritec

Quoi quoi Papy?

J'ai rajeuni de 12 ans!!!

En fait je ne connais pas très bien ma date de naissance .... et pourtant je ne suis pas africain (comme les footballeurs entre autres).

Merci à toi

Bon WE

Re Papi le forum

J'ai rajeuni de 12 ans!!!

je te le souhaite!! bonne journée

Papou

Bonjour à tous

Si on a d'autre types de feuilles que des feuille de données, graphiques par exemple, Sheets les prend en compte contrairement à Worksheets

Rechercher des sujets similaires à "cas fonctionne quel logique"