Menu

VBA TextBox ne se recopie pas en numérique

- - Dernière réponse :  FafaM - 17 mars 2019 à 07:53
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
Afficher la suite 

Votre réponse

3 réponses

Messages postés
526
Date d'inscription
lundi 22 septembre 2008
Dernière intervention
21 mars 2019
72
0
Merci
Bonjour,

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

TextBox25 * 1
Commenter la réponse de M-12
Messages postés
22592
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
26 mars 2019
7293
0
Merci
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

Commenter la réponse de eriiic
0
Merci
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
eriiic
Messages postés
22592
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
26 mars 2019
7293 -
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
Merci Eriiic pour cette solution qui fonctionne parfaitement.
Commenter la réponse de FafaM