VBA TextBox ne se recopie pas en numérique

FafaM -  
 FafaM -
Bonjour,
J'ai créé un formulaire dont la TextBox25 est un nombre (0 ou 1). Quand j'enregistre le contenu du formulaire dans l'onglet Base, la quantité 1 se recopie en texte et pas en numérique. Or, le format numérique est essentiel au bon fonctionnement du fichier pour calculer le stock disponible. Je voudrais également masquer les 2 onglets du fichier pour que les utilisateurs ne les voient pas. Mais, quand j'active la ligne de code "Application.Visible = False" dans ThisWorkbook, je ne vois plus les onglets et j'ai besoin de les visualiser. Existe t-il un code qui me permette de les afficher ?
SVP, quelqu'un peut-il m'aider. Merci

https://cjoint.com/c/ICiq4ZcikfR
Configuration: Windows / Firefox 65.0
A voir également:

3 réponses

M-12 Messages postés 1332 Date d'inscription   Statut Membre Dernière intervention   285
 
Bonjour,

Comme son nom l'indique, un TextBox, contient du texte
Il suffit de rajouter *1

TextBox25 * 1
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

ou de convertir explicitement :
xxx = CDbl(TextBox25)


Masquer une feuille :
Sheets("ta_feuille").visible = xlSheetHidden
'ou
Sheets("ta_feuille").visible = xlSheetVeryHidden

=xlSheetVisible pour l'afficher
eric

0
FafaM
 
Bonjour,
Merci pour vos réponses. Cela fonctionne très bien. Par contre, j'ai un problème avec le code pour empêcher une 2ème saisie avec le même identifiant. Cela ne fonctionne plus. J'ai ajouté un critère :

And Len(TextBox2.Text) = 7

à ma ligne de code juste avant :

numlign = Sheets("Base").Range("A65536").End(xlUp).Row
With Sheets("Base")
For i = 1 To numlign
If .Cells(i, 2).Value = TextBox2 Then
MsgBox "une commande a déjà été enregistrée pour cet identifiant,. Impossible d'en enregistrer une nouvelle"
Exit For
End If
Next
End With

Est-ce la cause du problème ou est-ce le code ci-dessus qui ne va pas ?

SVP, quelqu'un peut-il m'aider à faire en sorte d'empêcher une 2ème saisie. Merci
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

merci d'utiliser la balise code <> pour qu'il soit plus lisible.

Toujours pareil, si compares un nombre à un texte ça sera différent.
Converti ton texte en numérique.
Plutôt qu'une boucle, tu peux compter s'il est présent avec un Nb.Si(). Application.Countif en vba.
eric
0
FafaM
 
Merci Eriiic pour cette solution qui fonctionne parfaitement.
0