Enregistrer le format d'une valeur textbox en monétaire

gbstyle

XLDnaute Impliqué
Bonjour, voila je souhaiterai lors de l'enregistrement sur mon tableau que le format nombre soit monétaire
ci joint mon bout de code
Private Sub BtnAenregistrer_Click()
Ref = Me.TxtARefArticles
With Sheets("Base_Articles")
Set trouvé = .Range("TblBaseArticles").Columns(1).Find(Ref, lookat:=xlWhole, LookIn:=xlValues)
If trouvé Is Nothing Then 'il s'agit d'un nouvelle articles
derlig = .Range("A" & .Rows.Count).End(xlUp).Row + 1 'on se positionne sur la dernière ligne
Else 'existe déjà
derlig = trouvé.Row
If MsgBox("Souhaitez vous modifier l'article ?", vbYesNo) = vbNo Then Exit Sub
End If

.Range("A" & derlig) = TxtARefArticles
.Range("B" & derlig) = CboAFamille
.Range("C" & derlig) = CboASousfamille
.Range("D" & derlig) = TxtADesignation
.Range("E" & derlig) = CboAFournisseur
.Range("F" & derlig) = TxtALongueurcolisage
.Range("G" & derlig) = TxtALargeurcolisage
.Range("H" & derlig) = TxtAHauteurcolisage
.Range("I" & derlig) = TxtACréele
.Range("J" & derlig) = TxtANotes
.Range("K" & derlig) = TxtADelaislivraison
.Range("L" & derlig) = TxtAFraistransport
.Range("M" & derlig) = TxtAFacturation
.Range("N" & derlig) = CboAModedegestion
.Range("O" & derlig) = TxtAminicommande
.Range("P" & derlig) = TxtAPrixUnitHT ' => données à afficher en format Euros lors de la saisie dans le text box et lors de l'enregistrement que sont format se mette en monétaire dans le tableau source
J'ai essaye un code avec .NumberFormat = "#,##0.00 $" mais je n'y arrive pas, il me manque une déclaration de variable je pense


End With

End Sub

D'avance merci
 

Dranreb

XLDnaute Barbatruc
Entre temps j'avais vu un truc sur le mien :
À la CBnRàZA on remet le fournisseur courant dans la CBxFournisseur
On devrait peut être faire pareil à la CBnRàZC.
Et peut être systématiquement, parce que la propriété .Assumé des CBM je ne sais pas trop si elle n'est pas chamboulée par les réactivations de CLs. Ça donnerait :
VB:
Private Sub CBnRazA_Click()
Dim NomFou As String
NomFou = CBxFournisseur.Text
CLsA.Nettoyer
CBxFournisseur.Text = NomFou
End Sub

Private Sub CBnRazF_Click()
CLsF.Nettoyer
End Sub

Private Sub CBnRazC_Click()
Dim NomFou As String
NomFou = CBxFournisseur.Text
CLsC.Nettoyer
CBxFournisseur.Text = NomFou
End Sub
Comme ça y n'y aurait plus que la CLsF qui serait habilitée à nettoyer la CBxFournisseur
 

gbstyle

XLDnaute Impliqué
Chez moi ca ne fonctionne pas :/
J'ai tout les paramètre qui reste car a partir du moment ou on affecte le nom fournisseur il remet systématiquement une commande lié a ce fournisseur, fournisseur qui a prioris une seul commande

J'ai toujour mon problème de selection article dans ma LBxA- qui s'efface à partir du moment ou je saisie un numéro de commande
 
Dernière édition:

gbstyle

XLDnaute Impliqué
Voici la procédure pour le problème d'ajout commande et/ ou de remise à zéro commande :

Essais 1 :
Ajout d'une commande
1-A l'ouverture de l'userforme je selectionne par exemple : fournisseur ERREA
2-Je clis dans le frame Article pour afficher la LBxA
3-Je clique sur une référence de la LBxA puis je vais saisir dans le frame commande la réf commande suivante C00008
D'es que je saisie 8 mas LBxA s'efface

Essais 2 :
Si je clic sur RazCommande tout mes parametre reste affiché seule la LbxA s'efface

Je pense que c'est du au faite qu'apré CLsC.nettoyer on refasse appel à la Cbx Fournisseur non ?
 

Dranreb

XLDnaute Barbatruc
Tout d'abord il y a une erreur dans la CLsC_Change. Il n'y a aucune raison de nettoyer la LBxA. Par contre la LBxC, oui, s'il n'existe aucune ligne de commande.
Ah ben, apparemment c'était le problème. Je doute que l'erreur venait de moi. Je n'ai pas absolument tout écrit, après tout.
La 1ère instruction n'est pas bonne non plus: elle empêche l'exécution du reste s'il existe exactement 1 ligne de commande. Il n'y pas de raison puisqu'on ne la définit pas comme ligne courante, seul LBxC_Click est habilité à le faire.
 
Dernière édition:

gbstyle

XLDnaute Impliqué
en effet, c'est probablement moi qui est fait l'erreur y'a pas de soucis je la prend à charge :p "bisarre"
Je viens de réussir à créer une commande C00008 sur le fournisseur 1

La première instuction de la ClsC change qui ne serait pas bonne ou celle de la ClsF

Par contre toujour mon petit problème de RaZ Commande.
En effet je n'ai pas de remise à zéro dans la partie commande
 

gbstyle

XLDnaute Impliqué
En tout cas ca l'air de fonctionner je vais effectuer des simulation de passage de commande, de modification d'article dans une commande et de suppression pour verifier que tout fonctionne et que les tableau se mette bien à jour
Ah oui j'oublisais est il possible que dans la CBx Réf commande je puis la trier par ordre décroissant juste dans son affichage, afin de gagner du temp sur le numéros de commande car la j'en ai que 8 mais le jour ou j'en es 100 c'est plus embettant de descendre le curseur pendant 5mn lol
 

gbstyle

XLDnaute Impliqué
Ah oui j'oubliais je viens d'avoir un cas concret, je souhaite avoir la possibilité d'avoir dans une List box dédié, sur le meme userform la possibilité a partir de la selection du Frame article avoir toute ses ligne de commande passée crois tu que c'est faisable, en faite je souhaiterai rapidement voir pour un article toute les commandes qui lui sont affectées je ne sais pas si c'est faisable sans trop révolutionner le fonctionnement.
exemple :
Art 1 commande C00001 avec ca Qte
Art 1 commande C00008 avec ca Qte, ...

J'aimerai savoir aussi si il est possible d'avoir des compteurs permettant dans une TXt de connaitre le nombre de référence présent dans le catalogue, le nombre de fournisseur, et le nombre total de commande passée sur une période données en critère (le but et de mesurer potentiellement l'impact d'une saisonalité)


Ou alors dois créer un bouton qui ouvrirai peut etre un autre userform ne concernant que ces information de recherche ce serait surement plus simple pour repartir d'une base fraiche
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Ben ça impliquerait de faire gérer la CBxRefArticle aussi par CLsC
Ou par un 4ième ComboBoxLiées.
On peut aussi mettre en place des macros qui établissent des rapports sur certaines feuilles dédiées, indépendantes du processus de consultation et mise à jour des bases.
J'ai d'excellents modules de services faits pour ça.
 

gbstyle

XLDnaute Impliqué
Je penses en effet que des modules d'exportation lier à des boutons spécifiques récapitulant des rapports serait parfait j'avais envisager d'avoir justement des onglets d'exportation de mes différente table afin que des analyses sois faite sur des copie est éviter ainsi toute modification des bases de fonctionnement

Par contre est il possible de mettre au moins un tri décroissant sur CbxRefcommande et des compteur sur nombre d'article et fournisseur
 

Dranreb

XLDnaute Barbatruc
Oui, la méthode Add d'un ComboBoxLiées est munie d'un paramètre Croissant facultatif assumé True.
VB:
CLsC.Add Me.CBxCmdRefCmd, 1, Croissant:=False
Clsx.Lignes.Count ou Clsx.Plgtablo.Rows.Count donnent le nombre de lignes de la plage gérée par un CLsx.
 

Statistiques des forums

Discussions
312 326
Messages
2 087 313
Membres
103 513
dernier inscrit
adel.01.01.80.19