Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim LigVide As Long, Ligne As Long, VMois As String
[B][COLOR=blue] ' Empècher les évènements de se reproduire
Application.EnableEvents = False[/COLOR][/B]
' Vérifier si la feuille est une feuille : Encais xxx
If Left(Sh.Name, 6) = "Encais" Then
' Tester si saisie dans la bonne colonne
If Not Intersect(Target, Range("E:E")) Is Nothing Then
If Target.Value <> "" Then
' Récupérer la valeur du mois
VMois = Mid(Sh.Name, InStr(1, Sh.Name, " ") + 1, 255)
With Sheets("Caisse " & VMois)
LigVide = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & LigVide).Value = Range("A" & Target.Row).Value
.Range("B" & LigVide).Value = Range("C" & Target.Row).Value
.Range("E" & LigVide).Value = Range("E" & Target.Row).Value
End With
End If
End If
End If
' Vérifier si la feuille est une feuille : Caisse xxx
If Left(Sh.Name, 6) = "Caisse" Then
If Not Application.Intersect(Target, Range("E:E")) Is Nothing Then
Ligne = Target.Row + 1
Range("A" & Ligne).Select
Else
Target.Offset(0, 1).Select
End If
End If
[B][COLOR=blue] ' Réactiver les évènements
Application.EnableEvents = True[/COLOR][/B]
End Sub