Bonjour,

j'essaye d'écrire un code en VBA qui exécutera les lignes suivantes :
1) si l'utilisateur a rempli le champ dans le formulaire B
2) alors la valeur de ce champ est reporté dans le champ du formulaire A

1') si l'utilisateur n'a pas rempli le champ dans le formulaire B
2') alors la valeur de ce champ n'est pas reporté dans le champ du formulaire A
3') le champ du formulaire A - garde sa valeur initiale si il a été rempli au préalable ou - reste vide si il n'a pas été rempli au préalable

Pour l'instant j'ai écris ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Private Sub CHAMP_B_BeforeUpdate(Cancel As Integer)
If Forms("[CHAMP B]").Controls("[CHAMP B]") = 1 Then
   Forms("[CHAMP A]").Controls("[CHAMP A]") = 1
End If
If Forms("[CHAMP B]").Controls("[CHAMP B]") =  "" Then
   Forms("[CHAMP A]").Controls("[CHAMP A]") =  '???? : la valeur ne se modifie pas 
End If
End Sub
Comment je peux remplacer 1 et définir une variable ?
Comment je peux faire 3') ?