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é
Bonjour a tous, et désolé de ne reprendre que le fil maintenant pas mal full suite au CP, et merci d'avance pour vos retour toujour correct
ci joint la modif du code :
VB:
Sub export_Suivis_Stocks()
Dim chemin$, nom$

     chemin = "F:\"
     nom = "Suivis_Stocks " & Format(Date, "mmmm yyyy") & ".xlsx"

     Sheets("Suivis_Stocks").Activate
     ActiveSheet.Copy

     Application.ScreenUpdating = False                                             'xlOpenXMLWorkbook = xlsx
     'ActiveSheet.SaveAs Filename:=chemin & nom, FileFormat:=xlOpenXMLWorkbook
     ActiveWorkbook.SaveAs Filename:=chemin & “ / ” & nom, FileFormat:=xlOpenXMLWorkbook
     ActiveWorkbook.Close True
End Sub

Et voici le message d'erreur sur le menu débogage que je souhaite erradiquer : On constate la création et la copie de la feuille avec le nom Suivis Stock, par contre le classeur se nomme "classeur" et s'ouvre directement sur le débogage
upload_2018-6-4_14-47-26.png
 

Dranreb

XLDnaute Barbatruc
Ah, non, c'est sur le classeur créé que ça se produit en fait.
Le mieux ce serait de ne pas le créer et de toujours travailler avec le classeur contenant tout.
Sinon essayez peut être Application.EnableEvents = False avant de copier la feuille pour que sa Worksheet_Activate ne soit pas invoquée.
À remettre à True après fermeture du nouveau classeur.
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonjour tout ce beau monde :)

@gbstyle

C'est quoi ce / ??? o_O Ce n'est pas plutôt \ ;). Vu que maintenant c'est "F:\". Avant tu aurais pu ajouter le slash dans le chemin.

Avant : chemin = "F:\Projet\SL_\03_ET\03_B\Exportation"

Après: chemin = "F:\Projet\SL_\03_ET\03_B\Exportation\"
 

gbstyle

XLDnaute Impliqué
ci joint modif :

VB:
Sub export_Suivis_Stocks()
Dim chemin$, nom$

      chemin = "F:\Exportation\"
      nom = "Suivis_Stocks " & Format(Date, "mmmm yyyy") & ".xlsx"

      Application.EnableEvents = False
      Sheets("Suivis_Stocks").Activate
      ActiveSheet.Copy

      Application.ScreenUpdating = False    'xlOpenXMLWorkbook = xlsx
      'ActiveSheet.SaveAs Filename:=chemin & nom, FileFormat:=xlOpenXMLWorkbook
      ActiveWorkbook.SaveAs Filename:=chemin & “ / ” & nom, FileFormat:=xlOpenXMLWorkbook
      ActiveWorkbook.Close True
      Application.EnableEvents = True
End Sub

Petit message d'erreur :
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Pourquoi ne cherchez vous pas à l'écrire d'une façon simple ?
Comme ça par exemple :
VB:
Sub ExportSuivisStocks()
Application.ScreenUpdating = False
Application.EnableEvents = False
WshSuivStock.Copy
ActiveWorkbook.SaveAs Filename:="F:\Exportation\Suivis_Stocks " _
   & Format(Date, "mmmm yyyy") & ".xlsx", FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
Application.EnableEvents = True
End Sub
 

gbstyle

XLDnaute Impliqué
En effet Dranreb en tout cas merci beaucoup pour ce retour,
Mais pour te répondre je n'ai pas du tout cette même logique et surtout je n'ai pas 1% de tes connaissances je reste toujours émerveillé par la rapidité et les résultat que tu nous apporte, c'est vraiment bluffant.

Normalement en appliquant cette même méthode je devrais pouvoir extraire aussi mes autres feuilles sans trop de soucis.
Encore mille merci
 

gbstyle

XLDnaute Impliqué
Bonjour Dranreb, le forum
Dans le but toujour d'optimiser l'utilisation de notre outil développé, quel solution devrais-je utiliser pour la création du bon de commande.
A = Dois je définir un fichier masque de base est aller cherché l'info sur la base ?

B = Créer un bouton qui reprendra la selection de la commande et donc créer un état si possible de facon a ce que les champs se renseigne de manière automatique ?

Ou les 2

Je pensais utilisais la solution B à partir de l'userforme Commande / facturation

J'ai créer un masque vierge mais je souhaiterais venir le compléter de manière automatique est ce que c'est possible.
Si vous voyer quelque chose de plus simple je suis preneur
D'avance merci
 

Pièces jointes

  • Bon De Commande Vierge.xlsx
    637.8 KB · Affichages: 34
Dernière édition:

gbstyle

XLDnaute Impliqué
Donc si je récapitule, pour essayer de bien comprendre :
J'ai créer le bouton
J'ai créer le masque vierge,
Il faut maintenant que je déclare:
1-aller chercher le classeur bon de commande vierge ou éventuellement le créer sur une feuille dans la base
2- de le compléter à partir de la WshSuivCommande et Base Fournisseur pour compléter l'encart
3- de pouvoir l'enregistrer sous format excel et/ou pdf
 

Statistiques des forums

Discussions
312 109
Messages
2 085 382
Membres
102 877
dernier inscrit
robinet