Re
Voici ce que vous pouvez déjà faire dans votre fichier
1. Allez dans votre gestionnaire de noms
2. Sélectionnez le nom "section"
3. Dans la rubrique "reférence à", remplacez la formule par celle-ci --> =DECALER('INFO DIV'!$E$4;;;NBVAL('INFO DIV'!$E:$E)-1)
4. Ajoutez tous les noms manquants --> "livraison_avril", "livraison_mai", etc... Attention de corriger l'orthographe sur le mois de mars
5. Prenez ensuite l'USF SaisieLivraison
5-1. Tout en haut de vos codes, ajoutez ces deux instructions
Option Compare Text
Option Explicit
5-2. Comme vous avez déjà supprimé les propriétés rowssource, placez le code ci-dessous dans l'USF
Private Sub UserForm_Initialize()
Dim cel As Range
ComboCode.List = Range("CodeMoule").ListObject.DataBodyRange.Value
With Sheets("INFO DIV")
ComboSection.List = .Range("section").Value
For Each cel In .Range("codemachine")
If cel <> "" And cel <> "CODE" Then CombotypeMachine.AddItem cel.Value
Next cel
End With
End Sub
5-3. Pour la recherche via la combo et l'ajout dans la textbox, ajoutez ce code dans l'USF
Private Sub ComboCode_Change()
Dim ligne As Integer
TextEquipement = vbNullString
If ComboCode.Value = vbNullString Then Exit Sub
With Range("CodeMoule").ListObject
ligne = WorksheetFunction.Match(ComboCode.Value, .ListColumns(1).DataBodyRange.Value, 0)
TextEquipement = .DataBodyRange(ligne, 2).Value
End With
End Sub
Faites un test d'ouverture de l'USF et utilisez la combo afin de voir si tout est ok.
On passera aux points suivants ensuite pour le code Private Sub CmdEnregistrer_Click()
NB : Ne me replacez pas votre ficher, j'ai celui que vous avez posté qui me sert de travail et on évite d'alourdir le forum