Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sld As Currency
If Not Intersect(Target, Range("B10:B21")) Is Nothing Then 'si le changement intervient dans la plage B10:B21
If Target = 300 Then 'si la valeur saisie est 300
Target.Offset(0, 6) = ActiveSheet.Range("C5").Value 'on met la valeur de C5 à droite de la cellule modifiée - 6 colonnes à droite
End If
End If
End Sub
If Target.Value = 399 Then
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sld As Currency
If Not Intersect(Target, Range("B10:B21")) Is Nothing Then 'si le changement intervient dans la plage B10:B21
If Target = 300 Then 'si la valeur saisie est 300
Application.EnableEvents = False
Target.Offset(0, 6) = ActiveSheet.Range("C5").Value 'on met la valeur de C5 à droite de la cellule modifiée - 6 colonnes à droite
Application.EnableEvents = True
End If
End If
End Sub
Application.EnableEvents = False
Application.EnableEvents = True
BonjourBonjour KadelMalin,
Dans le code, précédemment donné par vgendron, une chose importante a été oubliée
il faut arrêter les évènements, sinon ça risque de tourner en boucle et plantage
Code:Private Sub Worksheet_Change(ByVal Target As Range) Dim Sld As Currency If Not Intersect(Target, Range("B10:B21")) Is Nothing Then 'si le changement intervient dans la plage B10:B21 If Target = 300 Then 'si la valeur saisie est 300 Application.EnableEvents = False Target.Offset(0, 6) = ActiveSheet.Range("C5").Value 'on met la valeur de C5 à droite de la cellule modifiée - 6 colonnes à droite Application.EnableEvents = True End If End If End Sub
Sinon, il faut dans ce cas utiliserexécuter le code, puisCode:Application.EnableEvents = False
Code:Application.EnableEvents = True
A+