Copier mot surligné dans un combobox

Fermé
geogeo75 - 2 nov. 2011 à 11:49
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 15 mars 2023 - 3 nov. 2011 à 15:15
Bonjour,

J'ai crée un userform pour valider une commande. Dans ma userform, il ya une liste déroulante (Combo Box) ou je choisis mon produit parmi ceux que mon entreprise vend. Exemple: pain, gâteau, pizza, boisson etc...

J'aimerais que quand je choisis admettons "Boisson" dans ma liste, la valeur "Boisson" se copie dans ma Feuille "Produits" en cellule "G4", et cela sans utiliser un bouton de validation, mais juste quand je clique sur le produit dans ma liste...

Ma liste déroulante se nomme "liste_produit_vendu" et ma userform "Nouvelle_commande"

le code écrit est celui-ci, mais rien ne s'affiche en G4... sauf la valeur 0

Private Sub liste_produit_vendu_Change()


Sheets("Produits").Range("G4").Value = Val(Me.liste_produit_vendu.Value)


End Sub


Auriez-vous une idée??

Merci d'avance

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 15 mars 2023 2 712
Modifié par pijaku le 2/11/2011 à 14:47
Bonjour,
Il me semble que la fonction Val("ma1chin") renvoie un nombre contenu dans une chaîne de caractère...
Essaye sans, comme ceci :
Private Sub liste_produit_vendu_Change()  
Sheets("Produits").Range("G4").Value = Me.liste_produit_vendu.Value 
End Sub



Cordialement,
Franck P
1
Merci Beaucoup :) ca marche niquel !!

Du coup j'ai une autre question. J'ai une text box dans laquelle je souhaite taper un nouveau montant de TVA.

Et j'aimerais que ce montant s'affiche en pourcentage (pour ne pas tomber sur un utilisateur qui me mettrait 20 au lieu de 20%...)

As-tu une idée?

J'ai regardé des codes mais ça en marche pas.

Private Sub Nouvelle_TVA_Change()
'affichage'
Nouvelle_TVA.Value = Format(Nouvelle_TVA.Value, "0.00%")
'récupération de la valeur'

Nouvelle_TVA.Value = Replace(Nouvelle_TVA.Value, "%", "")
Nouvelle_TVA.Value = Replace(Nouvelle_TVA.Value, " ", "")
Nouvelle_TVA.Value = Replace(Nouvelle_TVA.Value, ",", ".")
Nouvelle_TVA.Value = Val(Nouvelle_TVA.Value)

End Sub


Avec ce code rien ne s'affiche dans ma text box Nouvelle_TVA. Idem si je mets Nouvelle_TVA.Value= Format (Pourcent)

...
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 15 mars 2023 2 712
3 nov. 2011 à 14:56
Salut,
C'est le problème quand tu laisses la saisie à un utilisateur... Tu ne peux rien y faire. Certains vont t'écrire 20, d'autres 20,00% (avec virgule), d'autres 20.00% (avec point), d'autres 20%, et les plus forts écriront : "moi"...

Dans le cas qui nous intéresse, il s'agit de montants de TVA, donc quelque chose de fixe (même s'ils évoluent...) mais que tu souhaites pouvoir modifier...
Pour cela, je te recommande l'utilisation, non pas d'un textbox, mais d'une combobox ou listbox, qui permettront de faire un choix et non pas de saisir.
En gros, c'est toi, par un code qui va leur indiquer les seules valeurs que les utilisateurs peuvent indiquer.

Dis moi...
0
Il est sûr que c'est beaucoup plus pratique comme cela. Je vais donc faire ainsi :)
Merci beaucoup!!
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 15 mars 2023 2 712
3 nov. 2011 à 15:15
J'avoues toutefois avoir une préférence pour la listbox qui ne laisse pas de place à la saisie intempestive d'éléments...
A+
0