Je viens de créer une petite entreprise... qui connait la crise...
Et j'aimerai pouvoir automatiser la création de devis à partir de ma base qui est composée de 3 champs :
numeroserie | designation | prixvente
Le prob est que quand je fais une liste de choix dans visual basic, je ne peux par exemple choisir qu'un des champs et l'envoyer dans la table facture...
Je joint mon fichier en espèrant pouvoir trouver de l'aide en cette période estivale ! :whistle:
Merci à tous ceux qui prendrons la peinde de me lire... [file name=devis_Fabien.zip size=10947]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/devis_Fabien.zip[/file]
(il est nécessaire de le prendre en entier pour voir la base de donnée...)
EN effet, j'ai quelques souci...
Lorsque le produit n'a pas de prox référencé, le logiciel plante... Je ne sait que faire...
J'aimerai aussi pouvoir utiliser la roulette dans le chois déroulant et ce serai cool de voir apparaitre le prix des pièces à coté de leur désignation (choix plus simple)
Je sais que je demande beaucoup...
Pendant ce temps je teste le transfert Excel --> Word pour la facture
effectivement le fichier comporte des bugs car sans connaitre la structure même du fichier que tu exploites c'est difficile de prevoir.
j'ai effectué les modifications suivantes :
1)sup l'erreur si la ligne n'a pas de tarif ou si elle est vide
===> pour cela j'ai placé un On error resume next (c'est moche mais c'est VB donc c'est normal)
2)j'ai ajouté les tarifs dans la combobox pour une vue rapide
===> code utilisé pour l'initializ
Code:
With Me.choix1
.ColumnCount = 2 'nombre de colonne
.ColumnWidths = '400;50' 'la taille
End With
With Me.ComboBox11
.ColumnCount = 2
.ColumnWidths = '400;50'
End With
===> code utilisé pour l'additem dans les combobox
Code:
For i = 2 To Sheets('Produits').Range('B2000').End(xlUp).Row
Me.choix1.AddItem Sheets('Produits').Range('B' & i) 'description
Me.choix1.Column(1, Me.choix1.ListCount - 1) = Sheets('Produits').Range('c' & i) 'tarif en 2eme colonne
Me.ComboBox11.AddItem Sheets('Produits').Range('B' & i)
Me.ComboBox11.Column(1, Me.ComboBox11.ListCount - 1) = Sheets('Produits').Range('c' & i)
Next i
pour ton problème de roulette je n'ai pas trop compris ??
sinon j'ai corrigé d'autres bugs bien plus génant comme le format des nombres qui etait faut dans les listbox
pour ce faire j'ai modifier le type de variable qui etait integer pour Currency
puis forcer l'afichage des decimales
Code:
Private Sub choix1_Change()
On Error Resume Next 'ceci pour les lignes vide ou sans montant
o = Sheets('Produits').Range('c' & Me.choix1.ListIndex + 2).Value
Me.TextBox1.Value = Format(o * ComboBox10.Value, '##,##0.00')' ceci pour le format des nombres
voilà.
comme le fichier est trop lourd je te l'envoi sans la base de donnée [file name=Devis_20050817114927.zip size=28432]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Devis_20050817114927.zip[/file]
J'ai complètement oublié de te demander un bouton pour supprimer les pièces du devis qui ne conviendrai pas...
Et pour la roulette en fait j'aurai juste aimé que la roulette de la souris permette de faire défiler la liste des produits dans la listedechoixdéroulante...
Merci beaucoup pour tout l'aide que tu m'as apporté.