Microsoft 365 format grand nombre textbox

dadaze

XLDnaute Nouveau
Bonjour la communauté Excellienne,

Je me retourne vers vous car j'ai un souci avec ma TEXTBOX.
Je m'explique, cette dernière est dédiée aux numéros de sécurité sociale pour plus de commodité je les rentre sans espace.
Pour ce faire, j'utilise le code ci dessous qui fonctionne très bien dés lors que je saisie des nombres tels que 1500, 15000 ou 150000

Cells(L, 6) = CDbl(Me.TXTsecuritésociale.Value)

En revanche, dés que je rentre les 15 chiffres qui caractérisent un n° de sécu la cellule me retourne une valeur scientifique : 1,21259E + 14

j'ai aussi tenté celui ci, Cells(L, 6) =Format(Me.TXTsecuritésociale.Value, "0") * 1 sans plus de succès.

Voilà si vous avez quelques instants à me consacrer pour solutionner ce problème, je vous en remercie d'avance.
 
Solution
Bonjour tout le monde,

Je vous remercie pour votre contribution.
Finalement, j'ai attribué à la TEXTBOX le format numéro sécu.
C'est plus simple que d'essayer la conversion en nombre.

En tout cas je remercie chacun d'entre vous et vous souhaite en excellent Weekend

Gégé-45550

XLDnaute Accro
Bonjour la communauté Excellienne,

Je me retourne vers vous car j'ai un souci avec ma TEXTBOX.
Je m'explique, cette dernière est dédiée aux numéros de sécurité sociale pour plus de commodité je les rentre sans espace.
Pour ce faire, j'utilise le code ci dessous qui fonctionne très bien dés lors que je saisie des nombres tels que 1500, 15000 ou 150000

Cells(L, 6) = CDbl(Me.TXTsecuritésociale.Value)

En revanche, dés que je rentre les 15 chiffres qui caractérisent un n° de sécu la cellule me retourne une valeur scientifique : 1,21259E + 14

j'ai aussi tenté celui ci, Cells(L, 6) =Format(Me.TXTsecuritésociale.Value, "0") * 1 sans plus de succès.

Voilà si vous avez quelques instants à me consacrer pour solutionner ce problème, je vous en remercie d'avance.
Bonjour,
Sinon, il y a aussi ça en natif :
Format SS.png

Cordialement,
 

Gégé-45550

XLDnaute Accro
Bonjour tout le monde,

Je vous remercie pour votre contribution.
Finalement, j'ai attribué à la TEXTBOX le format numéro sécu.
C'est plus simple que d'essayer la conversion en nombre.

En tout cas je remercie chacun d'entre vous et vous souhaite en excellent Weekend
Bonjour,
Donc, si l'on en croit la coche verte, c'est vous qui avez trouvé la solution tout seul, comme un grand ;).
Cordialement,
 

TooFatBoy

XLDnaute Barbatruc
Finalement, j'ai attribué à la TEXTBOX le format numéro sécu.
Comment fait-on cela ?

Je croyais qu'une TextBox était simplement du texte et n'avait pas de format particulier.
Me trompé-je ?


Non, j'ai été au plus simple, je me suis accommodé du format numéro sécu.
Donc tu n'as pas coché le bon message. 😉


Néanmoins, j'ignore toujours pourquoi je n'arrive pas à convertir via une TEXTBOX un numéro de sécu en grand nombre.
Moi, ce que je ne comprends pas, c'est l'intérêt de transformer ce texte en nombre...
Tu as l'intention d'effectuer des calculs avec ce nombre ??? 🤔
 

dysorthographie

XLDnaute Accro
Bonjour,
Les textbox ne gère que du texte et c'est la qu'est le problème car excel interprète en float les numériques trop grand. Du reste sauf vouloir calculer la clé sécu il n'y a rien à faire avec un nº SS.

Et module 97 du nº ne peut ce faire qu'au format texte car ingérable en numérique.
 

dadaze

XLDnaute Nouveau
Comment fait-on cela ?

Je croyais qu'une TextBox était simplement du texte et n'avait pas de format particulier.
Me trompé-je ?



Donc tu n'as pas coché le bon message. 😉



Moi, ce que je ne comprends pas, c'est l'intérêt de transformer ce texte en nombre...
Tu as l'intention d'effectuer des calculs avec ce nombre ??? 🤔
C'est dans le cas ou je dois faire des recherches via une boucle par exemple. un n° de sécu sans espace ça devrait limiter les sources d'erreurs ou les plantages. mais il se peut que je me trompe.
En effet, mais connaissance en VBA sont assez limitées.

Cordialement
 

patricktoulon

XLDnaute Barbatruc
Bonsoir
c'est simple de formater dynamico un textbox

secubox version light sans masque de saisie
VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    With TextBox1
        v = .Text
        Select Case KeyCode
            Case 96 To 105, 48 To 57
                If KeyCode < 96 Then KeyCode = KeyCode + 48
                Select Case Len(v): Case 1, 4, 7, 10, 14, 18: v = v & " ": End Select
                v = v & Chr(KeyCode - 48)
                Select Case Len(v): Case 1, 4, 7, 10, 14,18: v = v & " ": End Select
                .Text = Mid(v, 1, 14)
            Case 8
                v = Mid(v, 1, Len(v) - 1)
            Case 13, 9
            Case 46: v = Mid(v, 1, .SelStart + 1)
            Case Else
        End Select
        .Text = Mid(v, 1, 21)
        KeyCode = 0
    End With
End Sub
 

dadaze

XLDnaute Nouveau
Bonsoir
c'est simple de formater dynamico un textbox

secubox version light sans masque de saisie
VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    With TextBox1
        v = .Text
        Select Case KeyCode
            Case 96 To 105, 48 To 57
                If KeyCode < 96 Then KeyCode = KeyCode + 48
                Select Case Len(v): Case 1, 4, 7, 10, 14, 18: v = v & " ": End Select
                v = v & Chr(KeyCode - 48)
                Select Case Len(v): Case 1, 4, 7, 10, 14,18: v = v & " ": End Select
                .Text = Mid(v, 1, 14)
            Case 8
                v = Mid(v, 1, Len(v) - 1)
            Case 13, 9
            Case 46: v = Mid(v, 1, .SelStart + 1)
            Case Else
        End Select
        .Text = Mid(v, 1, 21)
        KeyCode = 0
    End With
End Sub
Merci pour votre contribution, je vais tester le code
Bonne soirée
 

Statistiques des forums

Discussions
315 091
Messages
2 116 111
Membres
112 662
dernier inscrit
lou75