Lorsque vous postez un code, merci d'utiliser les balises de codes en cliquant sur l'icone </> disponible dans le menu et en collant le code dans la fenêtre. Il sera plus facile à lire.
Essayez ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If not Intersect(Target, Range("B1")) Is Nothing Then
On Error Resume Next
With Sheets("ACHAT_CAF")
.Range("B2") = Target.Value
.Range("F2") = Target.Value
.Range("M2") = Target.Value
End With
End If
end sub
NB : comme c'est un TCD et que vous faites varier le champ de page, vous pourriez utiliser le nom du TCD et l'instruction Currentpage aussi
Faites un test
Edit :
1. Attention, j'ai ajouté NOT dans le code
2.
Voici le code qui permet de faire le lien avec la liste déroulante pour actualiser les TCD :
Pour 3 fois les mêmes instructions ?
A la vue de votre deuxième code, vous ne pouvez pas avoir deux codes Worksheet_change dans la même feuille. Donc là, il y a erreur