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é
lol ce n'est plus un feuilleton mais un roman :/
Alors écoute je viens de tester ton fichier, je suis persuadé qu'il y a un soucis de version excel ou de verrouillage excel sur mon poste de travail
Car le fichier que tu m'envois plante également :/
 

gbstyle

XLDnaute Impliqué
ah j'ai toujour un soucis mais plus le même, maintenant c'est la méthode value de l'objet range qui a échoué
upload_2018-7-3_15-25-56.png
 

gbstyle

XLDnaute Impliqué
j'ai trouvé le soucis regarde a prioris ca serai lié à ca je l'ai es mis en commentaire et j'ai pu modifier une commande
'WshBCVierge.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
'"F:\Exportation\BC\ BC " & Range("I3") & Range("G7") & ".pdf", Quality:=xlQualityStandard, _
'IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Par contre il faut que j'effectue tes modification sur ma base source alors...
 

Dranreb

XLDnaute Barbatruc
Si c'est l'instruction qui plante essaye en précisant les noms d'objets Worksheet (encore appelés à tort CodeName) devant les Range.
Et comme du coup ça fait lourd, raccourcis les Range("adresse") en [adresse]
Quel est le nouveau souci ?
 

Dranreb

XLDnaute Barbatruc
Alors là on n'a plus de solution de rechange.
Que disent des espions sur les différentes parties de l'expression ?
Je suis de plus en plus fondé à croire que c'est une erreur due à des bogues système…
Il faudrait arriver à reproduire le problème sur une procédure très courte et soumettre le problème à Microsoft.
Ça a l'air d'être lié à l'agrandissement en nombre de lignes d'un ListObject, puisque ça plante en l'ayant engagé par deux voies différentes: par ajout d'un membre à sa collection ListRows, et maintenant par renseignement de la 1ère ligne qui suit le tableau qu'il représente.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Mets des espions plus détaillés, c'est compliqué de naviguer parmi toutes les propriétés.
Que dit CLsC.PlgTablo.Address(External:=True) au moment du plantage par exemple ? Et aussi juste avant avec un point d'arrêt ?
Et CLsC.PlgTablo.Rows.Count ? Enfin tous les bouts d'expressions qui doivent désigner une simple valeur et non un objet ?

Est-ce que, dans un nouveau classeur muni d'un tableau Excel, on arrive à ajouter une ligne par une macro toute simple en utilisant des variables As ListObject, As ListRows, As Range ?
 
Dernière édition:

gbstyle

XLDnaute Impliqué
je viens de rentrer à mon domicile je ne peux effectuer cette analyse car la projet fonctionne chez moi c'est un truc de dingue :/
je vais essayer de regarder un tuto ou deux pour essayer de bien comprendre ton besoin avec les espions et les points d'arrêts et je ferais la manip que demain au bureau car la je ne sais pas si ca te sortira des erreur vu que ca fonctionne
 

Dranreb

XLDnaute Barbatruc
Tu peux toujours préparer ça juste avant l'instruction qui plante au bureau :
VB:
    MsgBox "ClsC.Plgtablo: " & CLsA.PlgTablo.Rows.Count & " lignes, Adresse=" _
      & CLsC.PlgTablo.Address(External:=True), vbInformation, "Débogage"
J'ai de plus en plus l'impression qu'il va falloir constituer un minuscule classeur reproduisant le phénomène, à soumettre à Microsoft.
 

gbstyle

XLDnaute Impliqué
ecoute j'ai mis 2 espions et un point d'arret comme ci et je fais avancer étape par étape, mais je ne vois pas trop ce que tu souhaiterais voir comme résultat, je vois 18 sur la 2ème ligne qui correspond bien à 18 lignes sur ma wshsuivicommande mais sinon c'est le néant je fais F8 pour avancer en pas à pas mais ... vu que je suis chez moi rien ne parait d'anormal
upload_2018-7-3_0-31-54.png
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87