Microsoft 365 Textbox saisie nombre commence par des zeros

eric72

XLDnaute Accro
Bonjour à tous,
Je cherche depuis quelques heures une possibilité de saisir des numéros de compte avec une longueur de chiffres varaiable et qui peuvent commencer par des 0, exemple:
00012565487
0012569
1684569
Puis les exporter dans une cellule avec le même format, je ne trouve rien qui résout ce problème, avez-vous une idée?
Merci beaucoup pour votre aide.
 
Solution
Bonjour,

Puis les exporter dans une cellule avec le même format, je ne trouve rien qui résout ce problème, avez-vous une idée?
C'est toi qui a créé une macro pour transformer les "textes numériques" en nombres, donc forcément, ça fait que ce tu lui dis de faire. ;)

Enrichi (BBcode):
Private Sub BtnAjout_Click()
'**********************************************
'event bouton Ajouter
'**********************************************
Dim V, W

    Application.ScreenUpdating = False

    ' ALERTE CHAMPS OBLIGATOIRE NON REMPLI
'    If TxtComptable.Value = "" Then MsgBox "Vous devez indiquer la personne en charge du cabinet": Exit Sub
'    If CbTypeCpte.Value = "" Then MsgBox "Vous devez sélectionner un Type de compte": Exit Sub

    With...

eric72

XLDnaute Accro
Bonjour à tous,

Mettre les cellules en format texte

JHA
Bonjour JHA,
Merci pour la réponse, j'ai juste oublié de préciser que la saisie venait d'un textbox dans un userform, puis vers un tableau structuré, et quand le tableau structuré est vide, même si je met la colonne au format texte, lors de l'export il change le format en standard, je ne comprends pas pourquoi le format saute dès que j'importe la valeur de ma textbox.
Merci
 

eric72

XLDnaute Accro
Bonjour à tous,

Effectivement Power Query repasse en mode chiffre
Il faut remettre en format Texte.

JHA
Voilà mon fichier, ça sera plus facile, je passe par un userform et non par power query, quand je sélectionne le compte dans la litsbox, je choisis une date, je saisi une valeur et quand je valide, je vais dans l'onglet "Soldes" et le numero de compte n'est pas bon.
Merci
 

Pièces jointes

  • Suivi test.xlsm
    261.3 KB · Affichages: 5

eric72

XLDnaute Accro
En bidouillant, jai trouvé cette solution mais cela ne me plait pas trop
VB:
            With ws.ListObjects("TbSolde")
                Dim V
                [B][COLOR=rgb(226, 80, 65)]Dim monnum As String
                monnum = "'" & "" & TxtN°Cpte[/COLOR][/B]
                ' On constitue la liste de données à Ajouter à la liste
                V = Array(CDate(TxtDate), TxtComptable, TxtSte, TxtPrecisions, [B][COLOR=rgb(226, 80, 65)]monnum[/COLOR][/B], TxtBanque, TxtCpteCompta, TxtCommentaires, CDbl(TxtSolde), CbTypeCpte)
                    For i = LBound(V) To UBound(V)
                    If IsNumeric(V(i)) Then V(i) = CDbl(V(i))
                    Next
                .ListRows.Add.Range.Value = V ' On ajoute la ligne à la base de données
            End With
Qu'en pensez-vous???
 

Cousinhub

XLDnaute Barbatruc
Inactif
Bonsoir,
Regardé un peu ton fichier (bien trop de données, d'objets, ...) pour un fichier exemple....
Cependant, afin de charger les données dans les TS, j'aurais différencier les autres TxtBox du TxtBoxNumCompte
Et pour insérer le numéro de compte, j'aurais utilisé la propriété .Text
Ex : ListObjects("TbSolde").ListColumn("numcompte").Row(i).Text = LeTxtBox.Text qui comporte le numéro de compte (tapé le code à la main, possibilité de fôtes 🤪
Mais sans avoir testé, désolé
Bonne fin d'apm
 

eric72

XLDnaute Accro
Bonsoir,
Regardé un peu ton fichier (bien trop de données, d'objets, ...) pour un fichier exemple....
Cependant, afin de charger les données dans les TS, j'aurais différencier les autres TxtBox du TxtBoxNumCompte
Et pour insérer le numéro de compte, j'aurais utilisé la propriété .Text
Ex : ListObjects("TbSolde").ListColumn("numcompte").Row(i).Text = LeTxtBox.Text qui comporte le numéro de compte (tapé le code à la main, possibilité de fôtes 🤪
Mais sans avoir testé, désolé
Bonne fin d'apm
Bonsoir,
Merci pour ta réponse mais je dois avouer que je ne comprends pas grand chose à ces explications!!!
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re-,
A priori, tu charges toute la ligne en 1 fois, par un Array
Fais-le en plusieurs fois, colonne par colonne, et pour le numéro de compte, utilise la propriété .Text
(ça prendra un quart de millième de seconde de plus....)
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Puis les exporter dans une cellule avec le même format, je ne trouve rien qui résout ce problème, avez-vous une idée?
C'est toi qui a créé une macro pour transformer les "textes numériques" en nombres, donc forcément, ça fait que ce tu lui dis de faire. ;)

Enrichi (BBcode):
Private Sub BtnAjout_Click()
'**********************************************
'event bouton Ajouter
'**********************************************
Dim V, W

    Application.ScreenUpdating = False

    ' ALERTE CHAMPS OBLIGATOIRE NON REMPLI
'    If TxtComptable.Value = "" Then MsgBox "Vous devez indiquer la personne en charge du cabinet": Exit Sub
'    If CbTypeCpte.Value = "" Then MsgBox "Vous devez sélectionner un Type de compte": Exit Sub

    With [TbCptHKyriba].ListObject
        ' On constitue la liste de données à Ajouter à la liste
        V = Array(TxtComptable, TxtSte, TxtPrecisions, TxtN°Cpte.Text, TxtBanque, TxtCpteCompta, TxtCommentaires, CbTypeCpte)
        For i = LBound(V) To UBound(V)
            If IsNumeric(V(i)) Then V(i) = CDbl(V(i))
        Next i
        .ListRows.Add.Range.Value = V ' On ajoute la ligne à la base de données
    End With

    Vidange
'    TriTb

    UserForm_Initialize    ' On remet la listbox à jour automatiquement

End Sub
 

eric72

XLDnaute Accro
Bonjour,


C'est toi qui a créé une macro pour transformer les "textes numériques" en nombres, donc forcément, ça fait que ce tu lui dis de faire. ;)

Enrichi (BBcode):
Private Sub BtnAjout_Click()
'**********************************************
'event bouton Ajouter
'**********************************************
Dim V, W

    Application.ScreenUpdating = False

    ' ALERTE CHAMPS OBLIGATOIRE NON REMPLI
'    If TxtComptable.Value = "" Then MsgBox "Vous devez indiquer la personne en charge du cabinet": Exit Sub
'    If CbTypeCpte.Value = "" Then MsgBox "Vous devez sélectionner un Type de compte": Exit Sub

    With [TbCptHKyriba].ListObject
        ' On constitue la liste de données à Ajouter à la liste
        V = Array(TxtComptable, TxtSte, TxtPrecisions, TxtN°Cpte.Text, TxtBanque, TxtCpteCompta, TxtCommentaires, CbTypeCpte)
        For i = LBound(V) To UBound(V)
            If IsNumeric(V(i)) Then V(i) = CDbl(V(i))
        Next i
        .ListRows.Add.Range.Value = V ' On ajoute la ligne à la base de données
    End With

    Vidange
'    TriTb

    UserForm_Initialize    ' On remet la listbox à jour automatiquement

End Sub
Hello TooFatBoy,
Oups la boulette, voilà ce que c'est quand on reprend le code d'un autre fichier et qu'on le copie bêtement!!!
Pfffff suis nul.
Tu es une fois de plus mon sauveur...
Merkiiiiiii beaucoup une nouvelle fois.
Bonne soirée.
 

TooFatBoy

XLDnaute Barbatruc
Oups la boulette, voilà ce que c'est quand on reprend le code d'un autre fichier et qu'on le copie bêtement!!!
Je dis ça comme ça, mais à mon avis tu n'es pas le premier ni le dernier à qui ça arrive. ;)


Une remarque en passant : perso j'essaierais de supprimer l'ajout de l'apostrophe en début de numéro de compte dans le champ de saisi du numéro de compte.
L'apostrophe n'est valable que dans une cellule pour forcer Excel à considérer que ce qui est saisi est du texte.
Et même s'il y avait besoin d'une apostrophe en début de numéro, il n'y a aucune raison de la faire afficher dans le champ de saisi (ça devrait être "transparent" pour l'utilisateur).
 

eric72

XLDnaute Accro
Je dis ça comme ça, mais à mon avis tu n'es pas le premier ni le dernier à qui ça arrive. ;)


Une remarque en passant : perso j'essaierais de supprimer l'ajout de l'apostrophe en début de numéro de compte dans le champ de saisi du numéro de compte.
L'apostrophe n'est valable que dans une cellule pour forcer Excel à considérer que ce qui est saisi est du texte.
Et même s'il y avait besoin d'une apostrophe en début de numéro, il n'y a aucune raison de la faire afficher dans le champ de saisi (ça devrait être "transparent" pour l'utilisateur).
Bonjour,
Oui en effet l'apostrophe n'est plus d'aucune utilité maintenant que j'ai enlevé mon bout de code erroné.
Merci et bon week-end
 

Discussions similaires

Réponses
13
Affichages
574
Réponses
3
Affichages
600

Statistiques des forums

Discussions
315 096
Messages
2 116 179
Membres
112 677
dernier inscrit
Justine11