Mettre au format numérique une textbox issue d'un userform
Fermé
Fabien1988
Messages postés
3
Date d'inscription
samedi 8 juin 2013
Statut
Membre
Dernière intervention
9 juin 2013
-
8 juin 2013 à 12:43
Fabien1988 Messages postés 3 Date d'inscription samedi 8 juin 2013 Statut Membre Dernière intervention 9 juin 2013 - 9 juin 2013 à 12:02
Fabien1988 Messages postés 3 Date d'inscription samedi 8 juin 2013 Statut Membre Dernière intervention 9 juin 2013 - 9 juin 2013 à 12:02
A voir également:
- Mettre au format numérique une textbox issue d'un userform
- Format epub - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
- Pavé numérique bloqué - Guide
- Format bin - Guide
5 réponses
f894009
Messages postés
17253
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 mars 2025
1 713
8 juin 2013 à 17:29
8 juin 2013 à 17:29
Bonjour,
les valeurs de textebox sont en chaine de caracteres.
essayez ceci:
les valeurs de textebox sont en chaine de caracteres.
essayez ceci:
Private Sub VALIDER_FORMULAIRE_Click() Dim Ctrl As Control Dim r As Integer Dim t As Integer Dim derligne As Integer With Worksheets("BASE") derligne = .Range("A65536").End(xlUp).Row + 1 For Each Ctrl In FORMULAIRE_CREER_UN_CHANTIER.Controls r = Val(Ctrl.Tag) If r > 0 Then .Cells(derligne, r) = Val(Ctrl) End If Next End With TextBox1 = "" End Sub
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 256
8 juin 2013 à 18:06
8 juin 2013 à 18:06
Bonjour,
tu peux aussi convertir selon le type de contenu connu :
cdbl() ou cdate()
Surtout si le séparateur décimal est la virgule, val("2,3") te retournera 2
eric
tu peux aussi convertir selon le type de contenu connu :
cdbl() ou cdate()
Surtout si le séparateur décimal est la virgule, val("2,3") te retournera 2
eric
Fabien1988
Messages postés
3
Date d'inscription
samedi 8 juin 2013
Statut
Membre
Dernière intervention
9 juin 2013
8 juin 2013 à 19:04
8 juin 2013 à 19:04
Merci d'avoir répondu si vite.
Tu as résolu une partie de mon problème: Maintenant, avec = Val (Ctrl), les textbox où il y a des valeurs numériques sont au bon format par contre pour toutes celles où il y a du texte (et ou il n'y a rien) un 0 zéro s'affiche dans mon classeur...
Il faudrait pouvoir faire la différence entre les deux type de données.
Tu pense que c'est faisable?
Tu as résolu une partie de mon problème: Maintenant, avec = Val (Ctrl), les textbox où il y a des valeurs numériques sont au bon format par contre pour toutes celles où il y a du texte (et ou il n'y a rien) un 0 zéro s'affiche dans mon classeur...
Il faudrait pouvoir faire la différence entre les deux type de données.
Tu pense que c'est faisable?
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 256
8 juin 2013 à 23:44
8 juin 2013 à 23:44
c'est bien d'être transparent, ça dispense de répondre...
eric
eric
f894009
Messages postés
17253
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 mars 2025
1 713
Modifié par f894009 le 9/06/2013 à 08:12
Modifié par f894009 le 9/06/2013 à 08:12
Bonjour,
Il faut convertir seulement les texteboxs qui ont des donnees "numeriques", pas celle qui ont du texte!!!!!!!
Il faut faire un test sur ce que vous avez mis dans Tag de chaque control, puisque vous utilisez ce mode de reconnaissance.
Il faut convertir seulement les texteboxs qui ont des donnees "numeriques", pas celle qui ont du texte!!!!!!!
Il faut faire un test sur ce que vous avez mis dans Tag de chaque control, puisque vous utilisez ce mode de reconnaissance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fabien1988
Messages postés
3
Date d'inscription
samedi 8 juin 2013
Statut
Membre
Dernière intervention
9 juin 2013
9 juin 2013 à 12:02
9 juin 2013 à 12:02
Un collègue a réussi à me dépanner:
For Each Ctrl In FORMULAIRE_CREER_UN_CHANTIER.Controls
r = Val(Ctrl.Tag)
If r > 0 Then
If r = 18 Or r = 12 Or r = 13 Then
.Cells(derligne, r) = Val(Ctrl)
Else
.Cells(derligne, r) = Ctrl
End If
End I
For Each Ctrl In FORMULAIRE_CREER_UN_CHANTIER.Controls
r = Val(Ctrl.Tag)
If r > 0 Then
If r = 18 Or r = 12 Or r = 13 Then
.Cells(derligne, r) = Val(Ctrl)
Else
.Cells(derligne, r) = Ctrl
End If
End I