Bonjour Quaisako
Par mail suite à ta demande je t'avais fait parvenir une béta version de ce UserForm de Saisie, mais en voyant ce que tu as dans le zip... Tu ne t'en es pas beaucoup inspiré...
Il n'y a pas de "Conflit" il y a erreur de conception dans ce que tu veux faire.
Soit TOUT se fait par le UserForm donc en VBA, soit TOUT se fait par Formule...
Là tu essaies de faire un truc hybride... Je ne dis pas que çà ne va pas marcher, mais il faut être hyperlogique dans ce cas...
Dans ce code :
Private Sub Cmd_Valider_Click()
Dim Ligne As Integer
Ligne = Sheets("Facture").Range("D25").End(xlUp).Row + 1
With Sheets("Facture")
.Range("B" & Ligne).Value = Txt_Unité_Fac.Value
.Range("C" & Ligne).Value = Txt_Kilo_Fac.Value
.Range("D" & Ligne).Value = Cbx_Désignation_Fac.Value
.Range("F" & Ligne).Value = Txt_PNU_Fac.Value
End With
End Sub
Tu dis bien à VBA va écrire dans la cellule dans la dernière cellule vide de "F" donc il ne faut pas t'étonner que les formules qui s'y trouve soient écrasées à chaque fois que tu valides...
Ensuite quand tu écris :
"Si l'un d'entre-vous préfère mettre ces formules en VBA. Pas de problème. Par contre, je veux bien quelques explications.", ce serait un peu faire tout à l'envers de faire écrire par VBA des formules pour retrouver la valeur d'un truc par rechercheV dans la feuille alors que le UserForm y avait déjà accès "en live" avant d'activer le bouton "Cmd_Valider"...
Regardes à nouveau cette version Beta de UserFormSaisie-Demo et si tu analyses bien ce que j'ai fait, tu verras que dans l'initialisation du UserForm il y a plein de codes... et dans ton fichier l'initialisation se résume à çà :
Private Sub UserForm_Initialize()
End Sub
Maintenant si tu veux à tout prix faire écrire des formules par VBA je te conseille de regarder cette démo
USFControleFormules.zip (40Ko) tu as de quoi faire !!
Bon après midi
@+Thierry