Formulaire pour modifier une commande

Bonjour,

J'ai suivi un tutoriel sur ce site http://boisgontierjacques.free.fr/pages_site/formulairebases.htm pour créer un formulaire de visualisation des données. Une liste déroulante dans un userform permet de sélectionner une des commandes clients à modifier.

Toutefois, je sollicite votre aide car je n'arrive pas à paramétrer les deux "textbox" qui me permettront d'effectuer les modifications....

Voici mon fichier test

Merci d'avance pour votre aide

Baptiste

Salut Baptiste,

Il faut coder dans cette procédure ComboBox1_Click, tu utilises la méthode .find pour chercher la valeur de ta ComboBox1 dans ton tableau et par la suite tu remplis tes deux TextBox

Bonne soirée,

Baboutz

Salut horusbk,

Salut Baboutz,

Qu'appelles-tu "paramétrer" ?

Ton appel en ComboBox1 ne pourra jamais afficher des données inexistantes!

Private Sub ComboBox1_Click()

Set f = Sheets("Feuil1")

ligne = Me.ComboBox1.ListIndex + 2

Me.TextBox1 = f.Cells(ligne, 4)

Me.TextBox2 = f.Cells(ligne, 5)

End Sub

A+

Salut Baboutz,

Salut curulis57,

curulis57 a écrit :

Qu'appelles-tu "paramétrer" ?

En fait, je cherche à remplir les cellules "livraison" et "heure d'envoi" via les deux textbox de mon formulaire en fonction de la commande choisir depuis la combobox

Baboutz a écrit :

Il faut coder dans cette procédure ComboBox1_Click

C'est pourquoi je sollicite de l'aide car ça dépasse mes compétences :/

Merci encore.

Baptiste

Salut horusbk,

Salut Baboutz,

Je dis ça, je ne dis rien mais... pourquoi ne remplis-tu pas directement la 'Feuil1' puisque la recherche, finalement, de ta commande sera la même?

Private Sub ComboBox1_Click()
'
Dim iRow%
'
With Worksheets("Feuil1")
    iRow = .Range("B:B").Find(what:=Me.ComboBox1.Text, lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlNext).Row
    Me.lblCommande.Caption = "Commande / " & CStr(iRow)
    Me.TextBox1.Text = Format(.Cells(iRow, 4), "dd/mm/yyyy")
    Me.TextBox2.Text = Format(.Cells(iRow, 5), "hh:mm")
End With
'
End Sub

A+

14horusbk.xlsm (22.71 Ko)

Merci beaucoup pour ton aide

Je dis ça, je ne dis rien mais... pourquoi ne remplis-tu pas directement la 'Feuil1' puisque la recherche, finalement, de ta commande sera la même?

En fait, j'aimerais bien que lorsque qu'on clique sur le bouton, il n'y ait que les numéros de commande où la colonne livraison n'est pas renseignée qui s'affiche. Je suppose qu'il faut modifier ce bout de code, mais comment indiquer la condition :

SI <cellule livraison> = vide ALORS n° commande dans la combobox SINON on ne met pas le n° de commande

Private Sub UserForm_Initialize()
'
Dim rCel As Range
'
With Worksheets("Feuil1")
    For Each rCel In .Range("B2:B" & .Range("B" & Rows.Count).End(xlUp).Row)
      Me.ComboBox1.AddItem rCel.Value
    Next
End With
'
End Sub

A+

Salut horusbk,

Or rCel.Offset(0, 3) = ""

ou

And rCel.Offset(0, 3) = ""

plusieurs choix possibles...

rCel.Offset(0, 3) = rCel en ['B] décalée de 0 ligne et 3 colonnes = colonne 5, même ligne = cellule(Heure de livraison)

Private Sub UserForm_Initialize()
'
Dim rCel As Range
'
With Worksheets("Feuil1")
    For Each rCel In .Range("B2:B" & .Range("B" & Rows.Count).End(xlUp).Row)
      If rCel.Offset(0, 2) = "" Then Me.ComboBox1.AddItem rCel.Value
    Next
End With
'
End Sub

A+

C'est parfait ! Merci encore de ton aide

Bonne continuation.

Bapt

Rechercher des sujets similaires à "formulaire modifier commande"