Private Sub txtref_AfterUpdate()
Dim commandeWS As Worksheet
Dim refRow As Variant
' Référence à la feuille "suivi de commande"
Set commandeWS = ThisWorkbook.Sheets("suivi de commande")
' Recherche de la référence dans les colonnes C et D de la feuille "suivi de commande"
Dim refColumn As Range
Set refColumn = Union(commandeWS.Columns("C"), commandeWS.Columns("D"))
refRow = Application.Match(Me.txtref.Value, refColumn, 0)
' Si la référence est trouvée, remplissez les autres champs
If Not IsError(refRow) Then
' Remplir le champ "client"
Me.txtclient.Value = commandeWS.Cells(refRow, "A").Value
Me.txtnumcde.Value = commandeWS.Cells(refRow, "E").Value
Me.txtdesig.Value = commandeWS.Cells(refRow, "F").Value
Me.txtquantite.Value = commandeWS.Cells(refRow, "G").Value
' Ajoutez d'autres champs à remplir automatiquement ici
Else
MsgBox "Référence inconnue.", vbExclamation
End If
End Sub
Private Sub CommandButton1_Click()
' Validation des données et enregistrement dans la feuille correspondante
Dim ws As Worksheet
Dim LastRow As Long
' Déterminer la feuille cible en fonction du choix dans la liste déroulante
Select Case Me.boxaction.Value
Case "Commande"
Set ws = ThisWorkbook.Sheets("suivi commande")
Case "fabrication"
Set ws = ThisWorkbook.Sheets("suivi commande fabrication")
Case "affutage"
Set ws = ThisWorkbook.Sheets("suivi commande affutage")
Case "rectif"
Set ws = ThisWorkbook.Sheets("suivi rectif ")
Case "coupe"
Set ws = ThisWorkbook.Sheets("suivi coupe")
Case "conventionnel"
Set ws = ThisWorkbook.Sheets("suivi conventionnel")
Case "Expedition"
Set ws = ThisWorkbook.Sheets("suivi expedition")
Case "Contrôle"
Set ws = ThisWorkbook.Sheets("suivi controle")
End Select
' Trouver la première ligne vide dans la colonne A de la feuille cible
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
' Placer les données sur la feuille correspondante
With ws.Cells(LastRow, 1).Resize(1, 7)
.Value = Array(Me.txtdate.Value, Me.txtref.Value, Me.txtclient.Value, _
Me.txtnumbf.Value, Me.txtnumcde.Value, Me.txtdesig.Value, _
Me.txtquantite.Value)
End With
' Afficher un message de validation des données
MsgBox "Données validées avec succès !", vbInformation
' Réinitialiser les champs de texte (sauf txtdate)
Me.txtref.Value = ""
Me.txtclient.Value = ""
Me.txtnumbf.Value = ""
Me.txtnumcde.Value = ""
Me.txtdesig.Value = ""
Me.txtquantite.Value = ""
End Sub
Private Sub Worksheet_Activate()
' Remplit la TextBox avec la date actuelle lors de l'ouverture de la feuille
Me.txtdate.Value = Date
End Sub