بالفعل هو ده الكود الى بيعمله !!!!  راجع الملف بشكل جيد بالنسبه للجزئيه التانيه استبدل الكود بهذا الكود Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column <> 1 And Target.Column <> 2 And Target.Column <> 3 And Target.Column <> 4 Then Dim Lc As Long, r As Variant, i As Integer Lc = Cells(Target.Row, Columns.Count).End(xlToLeft).Column For i = 5 To Lc r = r & Cells(Target.Row, i