Problème VBA UserForm

bonjour à tous

Dans le cadre d'un petit projet VBA, je dois effectuer un Userform permettant une facturation

étant peu novice en VBA mais ayant quelques notions d'Excel , j'ai effectué de nombreuses recherches afin de trouver les codes nécessaires mais ayant peu de notions et n'ayant pas trouvé ce qu'il me fallait, je fais appel à vos connaissances afin de m'aider SVP.

je souhaiterais tout d'abord connaitre le code nécessaire à l affichage de plusieurs informations telles que le prix , la référence, le prix unitaire,le stock disponible dans des textbox associés, tout en ayant préalabement sélectionné le model correspondant dans une listbox déja créée, les infos citées étant intégrées dans une feuille "articles"

cela s'assimile à une recherchev, mais je ne sais plus appliquer cela à un userform :s

si vous pouviez m'aider à trouver ce code paraissant surement simple à vos yeux, ou s'il existe un lien existant répondant à cette question je vous en serais reconnaissant, ayant cherché sur plusieurs sites

je vous poserai éventuellement d'autres questions si cela est possible, plutôt que de tout demander d'un seul coup

Merci à vous

cordialement

finalement j'ai réussi à trouver une solution, merci quand même, je posterai le fichier par la suite si je rencontre un autre problème,cdt

rebonsoir à tous

j'ai un souci de syntaxe avec le code suivant est ce que quelqu'un pourrait m'éclairer SVP

If OptionButton1.Value = True Then

TextBox8.Value = 0.055 * (TextBox7.Value)

ElseIf OptionButton2.Value = True

Then TextBox8.Value = 0.2 * (TextBox7.Value)

Else: TextBox8.Value = ""

le principe de ce code consisterait simplement à multiplier un montant avec un taux de tva selectionné en fonction de la case correspondante cochée

cordialement

Bonsoir

A tester

If OptionButton1.Value = True Then
  TextBox8.Value = 0.055 * (TextBox7.Value)
ElseIf OptionButton2.Value = True Then
  TextBox8.Value = 0.2 * (TextBox7.Value)
Else
  TextBox8.Value = ""
End If

merci beaucoup

en effet le code marche, j'avais réussi à le trouver plus ou moins sous cette forme

Private Sub optionbutton1_click()

' Variables

Dim pb As Single, tva As Single

' Conversion du prix brut texte en réel

pb = CDbl(TextBox7.Value)

' TVA

If OptionButton1.Value = True Then

tva = pb * 0.055

ElseIf OptionButton2.Value = True Then

tva = pb * 0.2

End If

TextBox8.Value = Format(CDbl(tva), "0.00€")

End Sub

pour ce probleme c'est résolu, merci de m avoir répondu, je continue le projet je vous tiens au courant

bonjour à tous

je reviens vers vous car j'ai un nouveau problème,

je souhaiterais effectuer une recherche verticale dans une feuille excel nommée articles, associée à un userform où les valeurs de référence et de résultat serait affectées à deux textboxs respectives 1 et 2 , la plage de cellule irait de la premiere case chiffrée A2 jusqu'à la dernière cellule non vide de la feuille excel. Il s'agirait d'inscrire la valeur de référence dans la TB1 mais lorsque j essaye d'inscrire une référence associée au nom recherché censé s'afficher en TB2, un message d erreur apparait ( 'erreur d execution 13 incompatibilité de type' )

avant meme d executer l application

le code testé est celui ci ;

Private Sub TextBox1_change()

Dim tb1 As Single, tb2 As Single

tb1 = TextBox1.Value

tb2 = TextBox2.Value

Application.VLookup(tb1, [articles!A2:B20], 2, 0) = tb2

End Sub

j'ai essayé d appliqué la fonction vlookup sans succes, il y a surement une discrodance entre la textbox et la feuille mais n ayant jamais codé sur vba jusqu'à hier je suis en totale expérimentation

si quelqu'un saurait m'aider au niveau de ce code ce serait vraiment sympa

en esperant lire l'un de vous prochainement

cordialement

Bonjour

A tester une autre manière

Private Sub TextBox1_change()
Dim Cel As Range
  Me.TextBox2 = ""
  If Me.TextBox1 <> "" Then
    Set Cel = Sheets("articles").Range("A2:B20").Find(what:=Me.TextBox1, LookIn:=xlValues, lookat:=xlWhole)
    If Not Cel Is Nothing Then
      Me.TextBox2 = Cel.Offset(0, 1)
    End If
  End If
End Sub

Normalement le code pour VlookUp serait

Private Sub TextBox1_change()
Dim Rep
  Rep = Application.VLookup(Me.TextBox1, [articles!A2:B20], 2, 0)
  If Not IsError(Rep) Then
    Me.TextBox2 = Rep
  End If
End Sub

bonjour

merci encore Banzai, le premier code marche parfaitement, je vais essayer de l'appliquer à d'autre USF du projet

je vous recontacte si j'ai d'autre problèmes, même si une bonne partie a été effectuée

il me faut maintenant rechercher des codes sur la gestion des erreurs

merci à vous, je reviens vers vous bientôt, le sujet est presque résolu

bonne journée à tous

Rechercher des sujets similaires à "probleme vba userform"