dans le fichier ci-joint, je n’arrive pas résoudre le problème suivant;
Lorsque j’appelle le formulaire via le bouton de l’onglet Feuil1 et que je saisi les données dans les textbox et le combobox, il ne m’affiche pas le bon taux de tva.
C’est à dire si je choisi dans le combobox le taux 5.5% il m’affiche 6%.
Pourriez vous me guider dans cette recherche.
Si cela fonctionne il devra en activant le bouton valider du UserForm1 transférer le tout vers l’onglet Feuil1.
Sélectionnez la combobox et supprimez la propriété Rowssource
Supprimez le code Combobox1_change
Ajoutez ce code pour l’ouverture de votre usf
Private Sub UserForm_Initialize()
Dim c As Range
For Each c In Range("Tab_TVA")
ComboBox1.AddItem CStr(100 * c.Value) & "%"
Next c
End Sub
Après votre code Valider comme ceci :
Private Sub CommandButton1_Click()
Dim Dl As Integer
Dim Wd As Worksheet
Set Wd = Sheets("Feuil1")
With Wd
Dl = .Range("C" & Rows.Count).End(xlUp).Row + 1
.Range("C" & Dl) = TextBox1.Value
.Range("D" & Dl) = TextBox2.Value
.Range("E" & Dl) = ComboBox1.Value
.Range("E" & Dl).NumberFormat = "0.00%"
.Range("F" & Dl) = TextBox3.Value
End With
If MsgBox("Souhaitez-vous enregistrer des autres données ?", vbYesNo) = vbNo Then Call CommandButton2_Click ': Exit Sub
End Sub
Rem : évitez toujours la fonciton rowsource qui apporte quelques fois des soucis. Préférez toujours les instructions ADDITEM ou LIST
@cow18 :
oui çà je savais tout de même.
Je suis parti sur autre chose au départ. Puis le 0, ne renvoie par 5,5 mais bien 6%. ce qui était le souci du demandeur
Il y a une séquence dans les formes, on saute de l’un à l’autre avec le « TAB » ou le « ENTER ».
le TextBox3 s calcule avec les 3 autres
On écrit les 4 données en 1 fois vers la feuille
on met des bordures autour.
C’est quoi la définition de refaire ? A mon avis, c’est plus pratique
Ne vous battez pas s’il vous plaît !
Au départ mon soucis était comme tu l’as écris, le 6%.
Je vais essayer demain ton code et je te tiens au courant, promis.
Merci à toi.
A demain
j’ai essayé le fichier mais il doit y avoir des erreurs.
Lorsque je saisi le prix et que quitte ce textbox il me le vide et si je valide il me donne l’erreur suivante
Vu que vous suivez le fichier de Cow18, je me mets en pause sur votre sujet
Toutefois dans ce que je vous ai proposé au départ pour votre fichier, vous pouvez remplacer le code de validation par celui ci-dessous.
Le seul plus étant que dans le message que vous recevez après avoir validé, si vous cliquez sur oui, cela videra les textbox et combobox
Vous ne l’aviez pas demandé mais probablement que cette question serait venue après.
Private Sub CommandButton1_Click()
Dim Dl As Integer
Dim Wd As Worksheet
Set Wd = Sheets("Feuil1")
With Wd
Dl = .Range("C" & Rows.Count).End(xlUp).Row + 1
.Range("C" & Dl) = TextBox1.Value
.Range("D" & Dl) = TextBox2.Value
.Range("E" & Dl) = Evaluate(Replace(ComboBox1, ",", "."))
.Range("E" & Dl).NumberFormat = "#,##0.00 %"
.Range("F" & Dl) = CDbl(TextBox3.Value)
.Range("F" & Dl).NumberFormat = "#,##0.00 €"
End With
If MsgBox("Souhaitez-vous enregistrer des autres données ?", vbYesNo) = vbNo Then
Call CommandButton2_Click
Else:
TextBox1 = vbNullString
TextBox2 = vbNullString
TextBox3 = vbNullString
ComboBox1.ListIndex = -1
End If
End Sub
Je n’avais pas demandé autant mais comme toujours, les aides sur ce forum sont très complètes et professionnelles.
Je n’ai pas ajouté grand chose sauf de vider les textbox après avoir validé. Le cas échéant vous auriez probablement posé la question.
Ok pour les aides des forums, mais cela ne sert à rien de compliquer « le machin » si au final l’utilisateur est perdu et ne comprend plus rien.
Cordialement
Le but est de créer un code pratique … .
Maintenant les 4 boxes sont vides au début et après chaque « Validation » et on recommence dans « Qté » et avec le « TAB » ou le « ENTER » on choisit successivement le prix, le TVA et le bouton « Valider » (en supposant que total = qte * prix * (1 + TVA), si cela n’est pas le cas, il faut modifier la formule ou modifier ce chiffre et pour les moment, je ne pense pas que les arrondis sont bien fait). Pour le TVA, si on tape 5 ou 1 ou 2, le choix est fait, il ne faut plus clicquer sur la flèche. Vous pouvez rester dans le clavier numérique.
Je sais convaincu que si vous avez 10 séries de données à ajouter, que vous savez faire cela dans un minimum de temps et cela est le but, non.
La question originale, l’arrondi du TVA n’était qu’un chiffre à modifier dans le code.
Si un des 3 boxes est vide, la validation ne se fait pas
Le format des colonnes se fait manuel et hors le code.
Le plus facile est de modifier votre plage en un tableau structuré et éventuellement ajouter une formule à la colonne F Rubis TVA 2 .xlsm (22,1 Ko)
allez ???
si vous lancez cet userform et on n’utilise que le 5 et le « tab » ou « enter »,
donc on est dans le qté et on ajoute le 5 et « enter/tab » et on se trouve dans « prix »
on ajoute 5 et « tab/enter », le 5 se transforme en « 5.00€ » et on se trouve dans TVA
On ajoute 5 et « tab/enter » et le 5 se transforme en « 5.5% » et on se trouve su le bouton « valider » et « total » contient 26,38€ (valeur TVA inclus, produit de qte, prix et 1+TVA)
on fait « enter » et une nouvelle ligne avec ces données est ajouté + l’userforme se vide et on se trouve de nouveau dans Qte.
Cela ne fonctionne pas chez vous ? (pour le moment uniquement avec le chiffre 5)
si je prends le 5 oui, mais si je rentre par exemple Qté 12 et je rentre un prix de 15.95 et que je me déplace avec TAB dans le combobox de TVA le prix disparait !