RE
Tu peux virer cette sub dans Module1: j'ai oublié.
Le code est directement lié au bouton du userform :
Private Sub Ajout_Click()
With Worksheets(UserForm1.ChoixFeuille.Value)
X = Application.WorksheetFunction.Match(UserForm1.ChoixJour.Value, Range("JOURS"), 0) + 2
y = Application.WorksheetFunction.Match(UserForm1.ChoixEngin.Value, Range("ENGINS"), 0) + 2
.Cells(y, X) = UserForm1.TextBox1.Value
End With
Unload UserForm1
End Sub
ChoixFeuille.value correspond au choix fait dans la 1ère liste déroulante du userform
ChoixJour.Value correspond au choix fait dans la 2ère liste déroulante du userform
ChoixEngin.Value correspond au choix fait dans la 3ère liste déroulante du userform
On utilise un fonction EQUIV (match en anglais) pour trouver la position de la valeur choisie dans la plage JOURS et idem pour la plage ENGINS.
Comme tes lignes d'engins et tes colonnes de jours commencent en 3ème position, on ajoute 2 pour calculer les coordonnées Y et X de la cellule à remplir dans la feuille choisie.
Il est indispensable que la structure des feuille soit identique (j'ai supprimé une ligne vide dans une de tes feuilles)