Re bonjour
J'ai mis les explications dans le fichier que j'ai joint a mon premier post
je pense que mon problème viens de là (voir surligne)
sa serais vraiment sympa de ma dire ce qui cloche
merci a toute l'équipe pour leurs conseils
Cordialement
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
Dim Ligne As Long
' Vérif si la modification est sur une cellule dans l'intervalle C2 à C ..(niveau de la dernière ligne en A)
If Not Intersect(Range("G2:G" & Range("A" & Rows.Count).End(xlUp).Row), Target) Is Nothing And Target.Count = 1 Then
With Sheets("B-commande") ' On va bosser avec cette feuille
' Recherche si la Référence existe déjà dans la feuille BC
Set Cel = .Columns("A").Find(what:=Target.Offset(0, -6), LookIn:=xlValues, lookat:=xlWhole)
If Not Cel Is Nothing Then
' La référence existe ==> On va modifier la ligne
Ligne = Cel.Row
Else
' La référence n'existe pas ==> On va rajouter en fin
Ligne = .Range("A" & Rows.Count).End(xlUp).Row + 1
End If
[Surligner] If Target = "" Then ' On a effacé la quantité
.Range("A" & Ligne).Resize(1, 7).Delete shift:=xlShiftUp [/Surligner] ' On supprime dans BC
Else
Range("A" & Target.Row).Resize(1, 7).Copy .Range("A" & Ligne) ' On rajoute/modifie dans BC
End If
End With
End If
End Sub