Bonjour à toutes et à tous,
j'ai petit problème avec une partie de mon code.Je saisis une rérérence en colonne A et ça me renvoi différentes valeurs en B,C,E ensuite s'ouvre une InputBox pour saisir la quantité qui se place en D et le calcul total ce fait en F. Ce que je souhaiterais, c'est si la personne fait une erreur de saisie dans la quantité, il puisse modifier directement en D et que le calcul se réactualise.
mMerci votre aide
@+
j'ai petit problème avec une partie de mon code.Je saisis une rérérence en colonne A et ça me renvoi différentes valeurs en B,C,E ensuite s'ouvre une InputBox pour saisir la quantité qui se place en D et le calcul total ce fait en F. Ce que je souhaiterais, c'est si la personne fait une erreur de saisie dans la quantité, il puisse modifier directement en D et que le calcul se réactualise.
mMerci votre aide
@+
Code:
'Si la modification a lieu ailleurs qu'en A21:A106, sort de la procédure
If Intersect(Target, Range("A21:A106")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Target = UCase(Target) 'Met en majuscule
If Target.Value = "" Then ' On efface la donnée
Target.Resize(1, 6).ClearContents
Else ' Donc une nouvelle donnée
With Sheets("Fournisseurs") ' Prend en compte l'onglet "Fournisseurs"
Set pl = .Range("A2:A" & .Range("A65536").End(xlUp).Row) ' Définit la plage de recherche
End With ' Fin de la prise en compte de l'onglet "Fournisseurs"
Set r = pl.Find(Target.Value, , xlValues, xlWhole) ' Définit la recherche
If r Is Nothing Then ' Si pas trouvé on sort
MsgBox "Code non trouvé !" ' Message
Application.EnableEvents = True
Exit Sub
End If
'Place le résultat en B,C,E
Target.Offset(0, 1).Value = r.Offset(0, 1).Value
Target.Offset(0, 2).Value = r.Offset(0, 2).Value
Target.Offset(0, 4).Value = r.Offset(0, 4).Value
Cells(Target.Row, 4) = InputBox("Saisir Quantité")
Cells(Target.Row, 6).Value = Cells(Target.Row, 4).Value * Cells(Target.Row, 5).Value
End If