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é
Alors écoute je viens d'effectuer toute les manip demandés et cela fonctionne.
En ce qui concerne le classeur d'application je te confirme que oui c'est la première chose que j'ai testé ce matin.

Ecoute je vais revoir le classeur d'application en recréant mes userform, et avancé étape par étape sous excel 2016 :
d'abord fiche fournisseur ensuite fiche article et ensuite fiche commande

Par contre je ne peux réécrire tes module de classe définis donc je vais les copier normalement ils sont plus que bon vu que ca fonctionne chez toi.
 

Pièces jointes

  • testmicrosoft.xlsm
    26.5 KB · Affichages: 37

gbstyle

XLDnaute Impliqué
ah oui j'oubliais en effet, ci joint le message box qui ressort
upload_2018-7-4_10-39-58.png
 

gbstyle

XLDnaute Impliqué
Dranreb j'ai ptet quelque chose qui pourrait t'aider regarde
upload_2018-7-4_12-12-6.png

ci joint 2 point d'arret + un espion sur ClscValeurvers
Lorsque je fais l'execution en mode pas à pas je peux ajouter des article à la commande, par contre lorsque que je quitte le débogage et que je veux utiliser la base elle plante.
Essais tu verras ca va faire 2 manipulation que je fais et ca fonctionne que quand je fais executer la fonction a partir du menu débogage
 

Pièces jointes

  • BDDGDSTK.xlsm
    403.8 KB · Affichages: 40

Dranreb

XLDnaute Barbatruc
ValeursVers n'est pas une propriété mais une méthode. Elle ne renvoie pas de valeur.
C'est expliqué ainsi que tout le reste dans la page d'aide de CBxL.xlsm (c'est valable même pour les modules de service si le xlam n'est pas utilisé)
À part ça je sèche toujours, même si ça m'a fait tiquer de lire que ça plantait moins en pas à pas qu'en exécution continue. C'est généralement le signe de requêtes système non exécutées à temps. Une Instruction DoEvents peut parfois arranger les choses.
 

gbstyle

XLDnaute Impliqué
Je ne sais pas si ca peut t'aider mais j'ai essayer une autre manipulation :
Au démarrage de l'userform dans le fichier joint
- Je vais sur la listbox C00001 je sélectionne le 2 ème article
- Je le supprime avec la CBn
- a partir de la listbox des réf lié aux fournisseur je selectionne un article pour l'ajouter à la commande
- je saisie une quantité
- je valide par la cmd buton ajouter
miracle l'article apparait bien dans la commande
je décide donc :
- de sélectionner un nouvelle article
- je resaisie une quantité
- je valide par commande bouton

Et la la base plante.
 

gbstyle

XLDnaute Impliqué
Je viens de faire unnouveau test en partant d'un TBLSuiviCommande vierge
J'ai réussis à passer 4 articles sur la commande C00001
Par contre des que j'ai selectionner un fournisseur différent et que j'ai voulu créer la C00002
ca ne fonctionne pas
 

gbstyle

XLDnaute Impliqué
Encore mieux je suis partis d'une base vierge j'ai crée consécutivement 3 commande sur 3 fournisseur différent des articles
Tout à était mémorisé.
J'ai sauvegardé, j'ai réouvert ma base et je me suis dis tient je rajoute un article sur la 2ème commande et bim ca plante.
J'ai la sensation que ca marche pour une première utilisation mais des que je veux modifier la plage commande ca plante
 

Dranreb

XLDnaute Barbatruc
Au fait on n'a essayé, dans le test Microsoft, que l'écriture dans la ligne qui suit le tableau, alors que le classeur d'application marche toujours avec des ajouts de membres aux collections ListRows. Mais c'est décourageant d'essayer: on a le sentiment que ça marchera toujours aussi…
 

gbstyle

XLDnaute Impliqué
Donc si je comprend bien tu m'explique qu'il faudrait qu'on essaye de faires des ajouts de lignes et non pas par ajout de membre en collection listRows

Le problème est lié à la fermeture de l'userform et a sa réouverture, car je ne peux plus modifier les commande si ce n'est en supprimant une ligne pour en rajouter une

C'est à s'arracher les cheveux cette histoire :/
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Dans le classeur d'application ? Mais on a déjà essayé, ça fait pareil.
C'est dans le classeur test qu'on a pas essayé de faire comme dans le classeur d'application. Mais comme dit…
Je suis d'accord pour cette auto-violence capillaire
 

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 837
dernier inscrit
Ugo