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é
c'était juste un essais dans le code global ca donné ca :
ReDim TLBx(1 To UBound(TLA), 1 To 28)
For LLBx = 1 To UBound(TLA)
Ldon = TLA(LLBx)
'For C = 1 To 8: TLBx(LLBx, C) = Tdon(Ldon, C): Next C, LLBx
For C = 1 To 8: TLBx(LLBx, C) = Tdon(Ldon, Choose(C, 4, 5, 22, 23,24,25,26)): Next C, LLBx

Message d'erreur d'utilisation incorecte de Null sur NextC
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonjour gbstyle
Bonjour Dranreb
Bonjour le Forum
La ça fait 7 (4, 5, 22, 23,24,25,26) manque 1 pour faire 8 , si j'ai bien compris ! lol
je regarde cela de loin (rien comprendre lol)
bonne continuation
Amicalement
jean marie
 

Dranreb

XLDnaute Barbatruc
Ben si tu ne veux renseigner que 7 colonnes de la ListBox :
ReDim TLBx(1 To UBound(TLA), 1 To 7)
Et dans la fenêtre de propriété, ColumnCount: 7
TDon, lui est dimensionné automatiquement au nombre de lignes et de colonnes de CLsA.PlgTablo, la plage qui couvre le tableau Articles.
Un truc que tu n'a peut être pas compris: pour Choose il faut un paramètre de plus que le nombre de colonnes qu'on veut restituer, puisque le 1er c'est le numéro d'ordre de celui qu'on veut retenir parmi les suivants.
Ça veux dire choisir le C ième, Le1erÉtant 4, le 2ième 5 etc.
 
Dernière édition:

gbstyle

XLDnaute Impliqué
ok c'est bien ce qu'il me semblait, j'étais partis du principe que C était comptabiliser je comprend mieux maintenant. merci je met ca à jour de suite et je revois ma mise en page
Je vais essayer d'ajuster mes largeur de colonne car je n'ai pas la propriété columnsize donc il faut que je le déclare dans le code je suppose
 
Dernière édition:

gbstyle

XLDnaute Impliqué
Je ne peux surtout rien te reprocher ne t'en fais pas c'est plutôt moi qui suit désolé de mettre certainement beaucoup de temp a réaliser des choses que tu ferais en quelque minutes :/

Par contre maintenant petit point à date :
- reste à organiser la liaison listbox et la commande
- et les différent bouton permettant les enregistrement/modification et suppression de fiche éventuel

A moin qu'il y ai d'autre chose que j'ai oublié avec tout ce qu'on peut se dire
 

Dranreb

XLDnaute Barbatruc
Mais tout d'abord , est ce qu'on va essayer de s'orienter sur le point que j'ai évoqué au poste #155
Est ce que les _Change sont écrits pour appeler les Garnir… afin de vider les contrôles quand le nombre d'éléments trouvés NbrLgn est différent de 1 et faire un Clear des ListBox quand il est à 0 ?
Les procédures d'écriture dans la base seront généralement courtes. Le plus long ce seront les séries d'affectation préalable des TextBox.Text et CDbl(TextBox.Text) aux TVLx(1, … sans oublier l'affectation pour certaines colonnes de valeurs récupérées dans celles les deux autres TVLx. Tu peux commencer des CBnValiderx_Click (x: A, F et C) par ces instructions.
Elles feront Ajouter ou Modifier selon que le LCoux correspondant sera à 0 ou pas.
Et après ces affectations, la procédure se terminera, pour la CBnValiderA par exemple comme ça :
VB:
…
If LCouA = 0 Then
   CLsA.ValeursVers TVLA
   CLsA.Lignes.Add.Range.Value = TVLA
   CLsA.Actualiser
   Rem. Refaire un Dictionary ? Refiltrer quelque chose ? On verra !
Else
   CLsA.Lignes(LCouA).Range.Value = TVLA
   End If
End Sub
 
Dernière édition:

gbstyle

XLDnaute Impliqué
Je pense que tu parles de ton post139
Je ne peux te dire sur quoi s'orienter je n'arrive pas encore à m'imaginer ce que ca représente disont que il faut s'orienter sur la minimisation de l'erreur de saisie et qui semble le plus simple à l'utilisation, c'est vers ca que je pense qu'il faut s'orienter.

Je viens d'effectuer la mise à jour de listbox2 commande avec les infos que je souhaitait voir affiché vu que par défaut il m'affichait a peu prés tout comme la listbox1, et ca fonctionne ;)

ci joint fichier pour que tu puisse faire un petit point à l'utilisation.
 

Dranreb

XLDnaute Barbatruc
Oups! Non je voulais parler du #147 où il était question de ne plus faire gérer la CBxFournisseur que par le CLsF quitte à ressortir des tiroirs la possibilité de filtrer les autres sur leurs colonnes Fournisseur.

Pourquoi ne pas mettre carrément Now, la date et l'heure, dans la TVLx systématiquement avant écriture et l'afficher seulement dans un Label plutôt qu'une TextBox pour une fiche existante ?
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Ben oui je commençais, et je trouvai que l'histoire du détail de la date n'était pas à sa place, et que l'heure en plus ne serait pas plus mal. D'où mon Edit poste précédent.
Enfin s'il ne s'agit que d'une date d'enregistrement. La date de la commande c'est autre chose. On peut mettre la date du jour si la TextBox n'est pas renseignée.
 
Dernière édition:

gbstyle

XLDnaute Impliqué
Je n'avais pas vu ton texte a propos de la date, petit malin tu l'as ajouter après :p
Et bien écoute ca me dérange pas mais par contre cette infos de date dois pouvoir s'enregistrer dans la base car pour de futur analyse il est possible qu'elle me serve de Tri par exemple après pour l'heure c'est secondaire ce n'est pas forcement obligatoire mais pourquois pas
 

gbstyle

XLDnaute Impliqué
pour les bouton enregistrement modif c'est ca que tu veux voir pour le fournisseur :
Private Sub CBnValiderF_Click()
If LCouF = 0 Then
CLsF.ValeursVers TVLF
CLsF.Lignes.Add.Range.Value = TVLF
CLsF.Actualiser
Rem. Refaire un Dictionary ? Refiltrer quelque chose ? On verra !
Else
CLsF.Lignes(LCouF).Range.Value = TVLF
End If

End Sub
 

Statistiques des forums

Discussions
312 525
Messages
2 089 342
Membres
104 127
dernier inscrit
Tantetine