avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 2012
-
28 avril 2007 à 17:37
avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 2012
-
28 avril 2007 à 20:36
Bonjour,
J'ai un problème de technique qualité
Dans mon fichier excel, dans la colone "DE", les montants sont en dollars, mais dans mon TextBox, ils sont en centième.
EX: Voilà le script:
TextBox77 = Range("DE" & Ligne) suite ;a une rechercheV.
Si dans le fichier excel la célule contient la somme de 0.04, dans le TextBox, il me marque 0.0375.
Comment faire pour qu'il reconnaisse le format de la célule ou du moins, qui me donne la réponse 0.04 comme dans 0.04$
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 28 avril 2007 à 18:03
Tu lis, oui ?
Ce n'est pas la valeur de ta textbox, qu'il convient de modifier, mais bel et bien celle réellement inscrite dans ta cellule (un autre fois : le format de présentation ne modifie que la présentation, ... pas la valeur elle-même).
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 28 avril 2007 à 17:42
Bonjour,
T'as pas une petite idée ?
Moi oui, bien que ne connaissant rien à VBA :
Un format d'affichage (dans ta cellule) ne modifie en rien la valeur gardée en mémoire et donc, quand tu relis ce qu'il y a dans ta cellule, VBA relit la valeur en mémoire et non celle seulement affichée pour des raisons de présentation ...
Que te faut-il donc faire ? Ben... traiter réellement la valeur plutôt que de contenter d'en modifier la présentation.
avyrex1926
Messages postés360Date d'inscriptiondimanche 3 décembre 2006StatutMembreDernière intervention 3 janvier 20123 28 avril 2007 à 18:33
J'ai trouvé,
Private Sub TextBox77_Change()
Dim MaVal As String
On Local Error Resume Next
MaVal = TextBox77.Text
If Not Right(MaVal, 1) = " " Then
TextBox77.Text = MaVal & " "
Else
If Not Right(Mid(MaVal, 1, Len(MaVal) - 1), 1) = "." Then
TextBox77.Text = Round(CDbl(Mid(MaVal, 1, Len(MaVal) - 1)), 2) & " "
End If
End If
TextBox77.SelStart = Len(TextBox77.Text) - 1
End Sub
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 28 avril 2007 à 19:14
Ouais...
et en vus tu acceptes ta propre réponse !!!
Tu sais ce que tu as fait là, oui ?
Tu as simplement enrobé une erreur de papier doré !
Tu devrais aller voir ce qui se passe (conseil avisé) dans ta feuille excel de calcul en :
1) addtitionnant par formule une range contenant de telles cellules
2) en faisant manuellement le calcul
et
3) en découvrant que tes 2 résultats sont différents !