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
| Private Sub CommandButton25_Click()
If TextBox100 = "" Then
Exit Sub
Else
'Mise en place des valeurs saisies
Dim I As Long, Lig As Long
' Numéro de ligne = Entête tableau 1 + Choix dans la liste + 1 car commence à 0
I = Val(TextBox100)
Lig = 2 + I + 1
' Avec la feuille BD Poste
Select Case UCase(Me.ComboBox13.Value) 'agit en fonction de la valeur de la ComboBox13 (convertie en majuscules)
Dim O As Worksheet
Case "DEVIS" 'cas "DEVIS"
Set O = Worksheets("Devis") 'définit l'onglet O
End Select 'fin de l'action en fonction de la valeur de la Combobox13
For Each CTRL In Me.Controls 'boucle sur tous les contrôles de l'userForm
'si la propriété [Tag] du contrôle n'est pas vide, renvoie la valeur du contrôle dans la cellule
'ligne = PLV / colonne = valeur de la propriété [Tag] du contrôle
If CTRL.Tag <> "" Then O.Cells(Lig, CTRL.Tag).Value = CTRL.Value
Next CTRL 'prochaine contrôle de la boucle
End If 'fin de la condition
Worksheets("Facturier").Range("BV:BX").ClearContents 'supprime les données qu'il copie en trop dans Facturier
Worksheets("Devis").Range("BZ:BZ").ClearContents 'supprime les données qu'il copie en trop dans Devis
MsgBox "Les données sont enregistrées"
'Methode simple pour revenir à l'userform "Vide"
Unload Me 'Quitte l'userform
UserForm2.Show 'Revient dans l'userform
End Sub |
Partager