Code userform correct?

Bonjour tout le monde,

@ Mimimathy

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.

Je vous Remercie d’avance.

Cdt Rubis57

Classeur1.xlsm (96,0 Ko)

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 :+1:

1 « J'aime »

Bonjour,

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.

A très bientôt. :+1: :wave:

Cdt Rubis57

1 « J'aime »