un internaute
XLDnaute Impliqué
Bonjour le forum
Dans les macros ci-dessous quelqu'un peut-il me placer au bon endroit
	
		
J'ai toujours du mal où le placer
Merci à vous
Cordialement
  
	
	
	
	
	
		
	
		
			
		
		
	
				
			Dans les macros ci-dessous quelqu'un peut-il me placer au bon endroit
		VB:
	
	
	Application.ScreenUpdating = FalseMerci à vous
Cordialement
		Code:
	
	
	Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  ActiveSheet.Range("A1").Select
End Sub
Private Sub Workbook_Open()
Dim wSheet As Worksheet
Dim Feuille As String, AMasquer As String
Dim I As Integer
  For Each wSheet In Worksheets
'    wSheet.Protect UserInterfaceOnly:=True
  Next wSheet
  Feuille = MonthName(Month(Date)) & " " & Year(Date)
  If FeuilleExiste(Feuille) = False Then Exit Sub
  If UCase(Feuille) <> UCase(ActiveSheet.Name) Then
      ' Teste le nom en majuscule de la feuille du mois en cours avec le nom en majuscule de la feuille affichée
    AMasquer = ActiveSheet.Name
    With Sheets(Feuille)
      .Visible = True
      .Select
    End With
    Sheets(AMasquer).Visible = xlSheetVeryHidden
  End If
  For I = 1 To Sheets.Count                                                                    'Pour afficher tous les Mois
    If UCase(Sheets(I).Name) <> UCase(Feuille) Then Sheets(I).Visible = xlSheetVeryHidden      'Pour afficher tous les Mois
  Next I                                                                                       'Pour afficher tous les Mois
  Range("A1").Select                                                                           ' Remet la sélection en A1 (Position normale) le 20/06/2021
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim NombreJour As Integer
Dim LaDate As Date
Dim MoisSuivant As String
Dim sDate As String, ValDate As Variant
    Application.EnableEvents = False
    ' On recherche si la page est surveillée
    If InStr(1, "JanvierFévrierMarsAvrilMaiJuinJuilletAoûtSeptembreOctobreNovembreDécembre", _
                Split(Sh.Name, " ")(0), vbTextCompare) Then
      ' Calcul du nombre de jour dans le mois indiqué par le nom de la feuille
      NombreJour = Day(DateAdd("m", 1, DateValue(Sh.Name)) - 1)
'      If Target.Row - 5 > Day(Date) Then      'En commentaires ces 4 lignes pour afficher ligne données dans feuille
'        Beep
'        MsgBox "PAS LE BON JOUR"
'      Else
        ' Surveille la plage du 1er au dernier jours du mois
        If Not Intersect(Range("B6:C" & 5 + NombreJour, "F6:G" & 5 + NombreJour), Target) Is Nothing Then
          ' Reconstruit la date de fonction du nom de la feuille et du numéro de ligne sélectionnée
          LaDate = DateSerial(Split(Sh.Name, " ")(1), Month(DateValue(Sh.Name)), Target.Row - 5)
          ' Si la colonne B et la colonne C est vide on efface la date
          Range("A" & Target.Row) = IIf(Range("B" & Target.Row) = "", "", Application.Proper(Format(LaDate, "dddd dd mmmm yyyy")))
          '
          If Range("B" & Target.Row) = "" Then Range("C" & Target.Row) = "": Range("E" & Target.Row) = ""
          '
          Range("F" & Target.Row) = IIf(Range("B" & Target.Row) = "", "", LaDate)
'          End If
          Target.Select
        End If
      End If
'    End If                                        'En commentaires cette ligne pour afficher ligne données dans feuille
  Application.EnableEvents = True
End Sub
Function FeuilleExiste(Nom As String) As Boolean
  On Error Resume Next
  FeuilleExiste = Sheets(Nom).Name <> ""
  On Error GoTo 0
End Function
Sub ret()
Application.EnableEvents = True
End Sub
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 KilometrageDeDepart
    Case "$B$2"
      Columns("F:F").Hidden = Not Columns("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, 5, 5)
    Tb = Array("", "Super U Labussière", "Super U Corgnac", "Leclerc Limoges")
    '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
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim LaDate As Date, J As Long
  If Target.Address <> Selection.Address Then Exit Sub
    If Target.Column = 2 Then
        For J = 6 To 36
            If Cells(J, "B") = "" Then Cells(J, "A").ClearContents
        Next J
        ' Reconstruit la date de fonction du nom de la feuille et du numéro de ligne sélectionnée
        LaDate = DateSerial(Split(Sh.Name, " ")(1), Month(DateValue(Sh.Name)), Target.Row - 5)
        If UCase(MonthName(Month(LaDate))) = UCase(Split(Sh.Name, " ")(0)) Then
            ' Si la colonne B et la colonne C est vide on efface la date
            Range("A" & Target.Row) = Application.Proper(Format(LaDate, "dddd dd mmmm yyyy"))
        End If
    End If
End Sub 
	 
 
		 
					
				 
						
					 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		