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
 

gbstyle

XLDnaute Impliqué
Je vais voir si je peux réussir à réunir tout ca, j'émais quelque doute quand à la visibilité et la facilité d'utilisation,
mais si je comprend bien tu me demande de réunir la base article et la base fournisseur sur un seul et même tableau par exemple et le tout sur un même userform, auquel ont viendra ajouter des bouton modification ou supression etc ...
 

Dranreb

XLDnaute Barbatruc
Pas sur un même tableau, seulement tout accessible en même temps dans un seul UserForm.
À moins que la base Articles puisse faire office de base fournisseurs, bien sûr.
Plus on pourra simplifier l'organisation en diminuant le nombre de tableaux, mieux ce sera.
 

gbstyle

XLDnaute Impliqué
c'est ce que j'essaye de te préparer c'est l'objectif mais c'est pas pour ca que ca me tracasse ca va etre plutôt sur la gestion commande/reception/facturation je n'arrive pas à voir comment on peut faire le lien mais bon chaque chose en son temp.
J'essaye de mettre en forme tout ce que tu viens de me dire ensuite je reviens vers toi
Mais je pense qu'il va etre difficile de regrouper les 2 base article et clients beaucoup trop de valeur
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Si c'est vraiment trop compliqué de tout caser, on peut à la rigueur prévoir un MultiPage dans la partie droite de l'UserForm pour toutes les informations secondaires et les boutons de mise à jour.
Mais sans onglet, Style=2—fmTabStyleNone vu que ce qui en fera office ce sera le Frame de repérage de l'article, par exemple, qui ouvrira sa page de données annexes quand on cliquera dessus.
Mais si on peut éviter c'est mieux.
 

gbstyle

XLDnaute Impliqué
Hello Dranreb
Me revoici et bien écoute je te joint la grosse mise à jour de la base
Est ce que cela correspond plus a tes attentes j'ai centralisé au mieux toute mes infos afin de pouvoir travailler sur les CBx lié dont du me parlé
A très vite jspr
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Bien reçu le fichier.
Y ai mis les modules de service et commencé à mettre en tête deu FRmGlobal :
VB:
Option Explicit
Private WithEvents CLsF As ComboBoxLiées, LCouF As Long, TVLF(), _
        WithEvents CLsA As ComboBoxLiées, LCouA As Long, TVLA(), _
        WithEvents CLsC As ComboBoxLiées, LCouC As Long, TLC() As Long
Et m’apprêtai à faire la UserForm_Initialize pour lancer tout ça.

Et puis je me suis posé des questions qui m'ont conduis à deux observations :
1) — Dans l'idée la liste articles fournisseur serait inutile car lorsqu'un fournisseur est sélectionnée dans la fiche fournisseur, seuls les articles de ce fournisseur seraient proposés dans la fiche Article. D'ailleurs la ComboBox CboAFournisseur serait mieux à sa place dans la fiche fournisseur.
2) — Il y a bien des ComboBox pour sélectionner un article, mais ils ne me semblent pas à leur place qui devrait être la fiche article. Leur implantation dans la fiche Commande ne serait judicieuse que si on avait avant tout besoin de pouvoir chercher un article dans une commande, voire dans l'ensemble des commandes. Or je n'ai pour l'instant imaginé la sélection d'une ligne de commande que via la ListView.
(cette sélection afficherait bien entendu dans la fiche Article celui qu'elle mentionne)
 
Dernière édition:

gbstyle

XLDnaute Impliqué
Alors pour faire simple l'objectif des fiches fournisseur et fiches articles ne sont que des informations de création ou modification. Fichier de base mère de saisie (j'aurai très bien pu ne pas créer de userform mais pour une utilisation pour un collaborateur j'ai trouvé ca plus judicieux)
- A aujourd'hui je n'ai pas forcement besoin d'avoir une liaison entre les deux founisseur/Articles
=> je préfère créer un bouton extraction de ces deux fiches séparément si besoin pour utilisation diverse

- Pour le frame commande j'ai différente explication à te remonter :
- Les données d'en têtes sont global à une commande (réf commande,etc)
- J'ai créer une ligne pour effectuer les recherche et saisie besoin pour un article que je veux ajouter la base Suivis_Commande et à la list views qui permet de vérifier la saisie (Bouton Ajouter articles) - (C'est la que je souhaiterai avoir ton astuce de comboboxlié pour effectuer une recherche soit par réf / désignation et y afficher les infos renseigné dans la base article (comme infos colisage, et PxUHT) seul la quantité que je mettrais d'une couleur sera différente

Ah oui j'oubliais je suis terriblement emmbeté par l'incrémentation automatique de la Réf commande vu que mes données source ont du texte :(
 

gbstyle

XLDnaute Impliqué
Ah oui infos importante dans le frameCommande, après sélection du fournisseur en effet je veux bien un affichage dans la listview de droite les références lié aux fournisseur, je ne t'avais pas compris désolé :/

Je complète déjà des information de manière automatique dans les textbox quand je séléctionne le fournisseur
 

Dranreb

XLDnaute Barbatruc
Moi j'aimerais éviter d'avoir à répéter des choses à différents endroits.
Alors un Frame par base, la recherche d'un élément s'y faisant, et une ligne de commande se rapporte aux autres Frame.
Il faudra réécrire le garnissage des TextBox. Je ne travaille jamais directement avec les cellules.
TVLF sera la table des valeurs de la ligne du fournisseur courant, TVLA la table des valeurs de l'article courant, TLC la liste des numéros des lignes de commande affichées dans la ListView.
 

Dranreb

XLDnaute Barbatruc
Tu peut commencer par écrire des procédures GarnirFournisseur et GarnirArticle.
Inutile de garnir les ComboBox d'identification et de recherche de l'élément, il seront déjà garnis.
Elles serviront aussi à les vider, un TVLA vide étant créé pour un article inexistant.
Attention, c'est un tableau à 2 dimensions mais dont la 1ère est toujours 1. Parce que c'est ce que veut Excel comme image de la propriété Value d'un Range d'une seule ligne.