Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim k&, i&, j&, m
'Si plusieurs cellules sélectionnées alors on sort
If Target.Count > 1 Then Exit Sub
'Si la cellule sélectionnée est dans la colonne 2 (B) etau-delà de la ligne 11 (non incluse, donc 12)
If Target.Column = 2 And Target.Row > 11 Then
'Si la cellule de droite n'est pas vide alors on sort
If Target.Offset(, 1) <> "" Then Exit Sub
'Avec la feuille 2 (Débours)
With Feuil2
On Error GoTo Fin
'On cherche la valeur de la cellule sélectionnée dans la colonne 1 (A) de la feuille 2
k = Application.Match(Target, .Columns(1), 0)
'm va prendre les valeurs de la zone proche de la cellule trouvée de la feuille 2
m = .Cells(k, 1).CurrentRegion.Value
'Copie de ces valeurs dans à droite de la cellule sélectionnée
Target.Offset(, 1).Resize(UBound(m, 1), UBound(m, 2)) = m
End With
End If
Fin:
End Sub