Bonjour à tous,
Je voudrais utiliser un userform pour saisir des informations destinées à un base de donnée d'enlèvement de commande.
J'ai créé le userform et la procédure mais ça bloque au niveau du userform les données ne sont pas "exportées" dans la base de donnée. Je mets ci dessous les codes que j'ai écrit:
Pour la procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Public Fl As Worksheet, Flcd As Worksheet, Flech As Worksheet
Public nlig As Integer, lNx As Integer, col As Integer
Public rancom As Range, randes As Integer
Public satisf As Boolean
 
 
Sub copieclient()
 
Set Flcd = ThisWorkbook.Worksheets("CC2012")
Set Fl = ThisWorkbook.Worksheets("facturation prévisionnelle")
Set Flech = ThisWorkbook.Worksheets("Echéancier")
 
 
     Set rancom = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8)
 
If Not rancom Is Nothing Then
lNx = rancom.Row
 
   Fl.Activate
 
Range("A1").Select
If Range("A2").Value <> "" Then ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
      randes = ActiveCell.Row
      ActiveCell.Offset(0, 1).Value = Flcd.Cells(lNx, 8) 'Nom du client
      ActiveCell.Offset(0, 2).Value = rancom.Value       'Numéro de commande
      ActiveCell.Offset(0, 3).Value = Flcd.Cells(lNx, 9) ' Nom du chantier
      ActiveCell.Offset(0, 5).Value = "=TODAY()"         ' Nom du chantier
      Flcd.Cells(lNx, 1).Copy Fl.Cells(randes, 1)        ' Numéro de Devis
 
      U_Fact.Show
      If satisf = True Then
 Fl.Cells(randes, 7).Value = U_Fact.TextBox1.Value         'Numéro de Bon
 Fl.Cells(randes, 9).Value = U_Fact.CInt(TextBox2.Value)   'Numéro de palette
 Fl.Cells(randes, 10).Value = U_Fact.CInt(TextBox3.Value)  'Nombre de pierre
 Fl.Cells(randes, 8).Value = U_Fact.CByte(TextBox3.Value)  'Montant Hors taxe
 Fl.Cells(randes, 11).Value = U_Fact.CByte(TextBox5.Value) 'Versement
 Fl.Cells(randes, 12).Value = U_Fact.ComboBox1.Value        'Chèque ou espèce
 Fl.Cells(randes, 13).Value = U_Fact.ComboBox2.Value        'statut complete /partielle
 Fl.Cells(randes, 14).Value = U_Fact.ComboBox3.Value        'Vu par tel/mail/pers.
 End If
  If satisf = False Then
  U_Fact.Hide
  Flcd.Activate
 End If
 End If
End Sub
Pour le Userform appelé U_fact (il est composé de 5 text box et 3combobox et deux commandbutton Ok et annuler) :
pour les boutons j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub B_Annul_Click()
satisf = False
Unload Me
End Sub
 
Private Sub B_OK_Click()
If Not TextBox1 Is Nothing Then
satisf = True
 
End If
Unload Me
End Sub
Pour les text box je n'ai rien écri et pour les combobox j'ai écrit ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem ComboBox1.Text
End Sub
 
Private Sub ComboBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox2.ListIndex = -1 Then ComboBox2.AddItem ComboBox2.Text
End Sub
 
Private Sub ComboBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox3.ListIndex = -1 Then ComboBox3.AddItem ComboBox3.Text
End Sub
Bon j'imagine que c'est facile à résoudre mais vu que je ne suis pas un expert je m'en remets à vous.
PS : J'ai essayé les tutos mais c'est pas évident d'adapter...