Textbox pas bonne valeur lorsque j'active macro une 2e fois

Bonjour,

J'ai un programme Visual Basic

Présentement j'ai un problème lorsque je sauvegarde.. je m'explique:

Mes textbox prend une donnée (résultat d'un calcul excel) à partir d'une cellule et me l'affiche. J'ai réussi par Linkcell en plus d'un petit programme, tel que:

(Ce programme permet de prendre une valeur inscrite dans une cellule et l'affiche dans une textbox, tel que 102.000")

Sub textbox_Change()

textbox = Format( textbox, "0.000")

If Sheets("RÉSULTATS").Range("Calcul.D1.3").Text = True Then

textbox.Text = Sheets("RÉSULTATS").Range("Calcul.D1.3").Text & " '' "

End If

End Sub

ET lorsque je sauvegarde avec ceci:

(Ce programme permet de Rejouer toute mes textbox une dernière fois avant de sauvegarder)

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Call Feuil4.textbox_Change

etc..

End Sub

(Ce programme permet de sauvegarder en cliquant sur un bouton)

Sub Sauvegarde_Click()

Application.Dialogs(xlDialogSaveAs).Show

End Sub

La plupart de mes valeurs de mes textbox sont perdues et m'affiche absolument n'importe quoi (ex.1082000.000) (qui devrait m'affiche quelque chose du genre: 102.000")

J'aimerais bien qu'il affiche À TOUT LES FOIS tel que mon programme textbox_Change demande

Merci de m'aider

Bonsoir maprg3,

Deux choses :

Sub textbox_Change()
textbox = Format( textbox, "0.000")
If Sheets("RÉSULTATS").Range("Calcul.D1.3").Text = True Then
textbox.Text = Sheets("RÉSULTATS").Range("Calcul.D1.3").Text & " '' "
End If
End Sub

1 - J'ai du mal à comprendre tu formates le textbox, et ensuite tu le mets à jour selon une condition ? Cela veut dire que quand tu saisis dans le formulaire, il remplace une éventuelle saisie par le contenu d'une cellule si une condition contenue dans une autre cellule est remplie ? Surprenant... Mais pourquoi pas. Dans ce cas il faut plutôt mettre cette ligne :

textbox = Format( textbox, "0.000")

juste avant le End Sub, de cette manière tu reformates le texbox avec la nouvelle valeur (enfin, si elle est numérique, ce qui semble ne pas être le cas : pourquoi & " '' " ?)

2 - En VBA, dans la fonction Format le séparateur de décimal est le point et le séparateur de milliers est la virgule, donc il semblerait que tu aies utilisé la virgule mais non le point comme dans ton exemple. Sinon, puisque le textbox est alimenté par le contenu d'une cellule, vérifie que le chargement du Textbox se passe correctement.

Merci pour tes conseils ! Cela m'a bien aidé et ça fonctionné.

En passant, le " " " est nécessaire car ce sont des mesures en impériale et ce qui affiche est (ex.: 102.125")

Rechercher des sujets similaires à "textbox pas bonne valeur lorsque active macro fois"