Format de la valeur envoyée par Userform vers cellule Excel

Fermé
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018 - 2 août 2015 à 21:33
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018 - 7 août 2015 à 17:05
Bonjour,
j'ai un formule dans la cellule B5 qui a relation avec A1. En changeant la valeur de A1 directement sur excel, la formule fonctionne correctement. Mais lorsque je modifie la valeur de la cellule A1 à partir d'un textBox d'un userform. la valeur envoyée n'est pas reconnue par la formule et renvoie #VALEUR! . le format de la valeur qui est numérique n'est la même que celle de Excel.
même si J'ai tapé le code:

Sheets("Données 2015-2016").Cells(2, 6) = Me.Controls("TextBox" & 48)
Sheets("Données 2015-2016").Cells(2, 6) = Format(Sheets("Données 2015-2016").Cells(2, 6), "0.00").

j'ai essayé "0" au lieu de "0.00".
Merci si vous avez une idée.

A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié par pijaku le 31/08/2015 à 07:44
Bonjour,

Les valeurs que tu écris sont de type Texte (String) et pas Nombre !!

En effet
Me.Controls("TextBox" & 48)
renvoi un texte de même que la fonction
Format(Sheets("Données 2015-2016").Cells(2, 6), "0.00")
le la seconde ligne.

Pour obtenir un nombre il faut écrire :
Sheets("Données 2015-2016").Cells(2, 6).Value = Val(Me.Controls("TextBox" & 48))

ou encore :
Sheets("Données 2015-2016").Cells(2, 6).Formula = Me.Controls("TextBox" & 48)

Cordialement
Patrice
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
3 août 2015 à 12:33
Ok je vais essayer et vous tenir au courant. Merci pour vous
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
3 août 2015 à 21:37
Bonsoir Patrice j'ai rectifié le code avec celui que vous m'avez envoyé. c'est OK. le problème est résolu. Merci beaucoup.
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
3 août 2015 à 21:46
pourquoi l'exrcution de l'userForm ne fonctionne pas correctement si sa Feuille excel(Feuil1) n'est pas sélectionnée?
c'est-à-dire: le classeur contient 2 Feuilles, Feuil1 et Feuil2.
Si Feuil1 est sélectionnée l'Userform s'exécute correctement. Par contre si Feuil2 est sélectionnée il ne s'exécute pas parfaitement ( il déconne)
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
3 août 2015 à 22:14
Re,

Sans la totalité du code je peux pas être précis !

Il n'est que très rarement indispensable d'effectuer une sélection.
En général ce genre de problème vient de l'utilisation de Select avec une définition insuffisamment précise de la plage de cellules, ou plus simplement d'une définition incomplète d'une plage de cellule, par exemple utilisation directe de Range() au lieu de Worksheets("maFeuille").Range()

Patrice
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
Modifié par Bzik59 le 7/08/2015 à 14:54
Bonjour,

Pour augmenter la valeur de la cellule nommée "CompteurPage" de 1 pour chaque impression d'une feuille Excel .
J'ai mis le code suivant dans Workbook:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("CompteurPage") = Range("CompteurPage") + 1
End Sub

Le problème c'est que la valeur augmente de 1 pour l'aperçue avant impression, et augmente encore de 1 lorsque on imprime la feuille. c'est à dire que le compteur a augmenté de 2 pour une seule impression.
y'a t-il une solution? merci à vous.
0