ci-joint un fichier qui sert pour saisir des TVA fournisseurs et clients.
Au lieu de placer un deuxième UserForm, j’ai essayé, moi-même cette fois-ci, de mettre en place un code afin qu’il enregistre ma saisie via le UserForm, soit dans le tableau des fournisseurs ou le tableau des clients.
Auriez-vous la gentillesse de vérifier le code afin de me rassurer sur ce point.
Bonjour,
Je te place ta macro rectifié pour la validation de ton USF
Sache que si tu utilise la fonction With (Sheets(« blabla »), inutile de repéter le nom de la feuille, mettre simplement un point avant le Range() ou le Cells() Ex: .Range(A1")
Private Sub CommandButton1_Click()
'Saisir les détails des TVA des achats fournisseurs et des ventes clients
'déclaration des variables
Dim lignerecopie As Integer
If Me.TextBox1.Value = "" Then MsgBox ("Vous n'avez pas saisie la date"): Me.TextBox1.SetFocus: Exit Sub
Application.ScreenUpdating = False
'envoi toutes les TVA dans le tableau détails des tva achats fournisseurs
If Me.OptionButton1 = True Then
With Sheets("DETAILS TVA ACHATS FOURNISSEURS")
lignerecopie = .Range("B" & Rows.Count).End(xlUp).Row + 1
.Range("B" & lignerecopie).Value = Me.TextBox1.Value
.Range("C" & lignerecopie).Value = Me.ComboBox1.Value
.Range("D" & lignerecopie).Value = Me.TextBox2.Value
.Range("E" & lignerecopie).Value = Me.TextBox3.Value
.Range("F" & lignerecopie).Value = Me.TextBox5.Value
.Range("G" & lignerecopie).Value = Me.TextBox6.Value
.Range("H" & lignerecopie).Value = Me.TextBox10.Value
.Range("I" & lignerecopie).Value = Me.TextBox11.Value
.Range("J" & lignerecopie).Value = Me.TextBox12.Value
.Range("K" & lignerecopie).Value = Me.TextBox4.Value
.Range("L" & lignerecopie).Value = Me.TextBox7.Value
.Range("M" & lignerecopie).Value = Me.TextBox8.Value
.Range("N" & lignerecopie).Value = Me.TextBox9.Value
End With
Else
'envoi toutes les TVA dans le tableau détails des tva ventes clients
With Sheets("DETAILS TVA VENTES CLIENTS")
lignerecopie = .Range("B" & Rows.Count).End(xlUp).Row + 1
.Range("B" & lignerecopie).Value = Me.TextBox1.Value
.Range("C" & lignerecopie).Value = Me.ComboBox2.Value
.Range("D" & lignerecopie).Value = Me.TextBox13.Value
.Range("E" & lignerecopie).Value = Me.TextBox3.Value
.Range("F" & lignerecopie).Value = Me.TextBox5.Value
.Range("G" & lignerecopie).Value = Me.TextBox6.Value
.Range("H" & lignerecopie).Value = Me.TextBox10.Value
.Range("I" & lignerecopie).Value = Me.TextBox11.Value
.Range("J" & lignerecopie).Value = Me.TextBox12.Value
.Range("K" & lignerecopie).Value = Me.TextBox4.Value
.Range("L" & lignerecopie).Value = Me.TextBox7.Value
.Range("M" & lignerecopie).Value = Me.TextBox8.Value
.Range("N" & lignerecopie).Value = Me.TextBox9.Value
End With
End If
MsgBox "Détails des TVA enregistrés !"
Application.ScreenUpdating = True
'ferme le formulaire SAISIR_TVA
Unload Me
End Sub
Après, avec le fichier joint, je t’ai ôté un combobox. suivant ton choix dans les options le label et la liste du combobox change.
Regarde la macro, c’est cadeau Classeur1-1.xlsm (91,2 Ko)
Mais dans l’ensemble, tu commences à bien te dépatouiller
Merci pour cette rectification et les infos. Un seul combobox, je ne savais pas comment faire.
Je me suis construit il y a quelques jours un classeur avec lequel je m’entraîne pour faire des essais et essayer de comprendre les codes etc. Cela aide beaucoup, il faut juste s’y intéresser.
ça fait du bien de lire cela. MERCI
Eh oui ! avec les bons professeurs qui expliquent bien on peut comprendre des choses et je ne lâche rien.