Résolu Autoriser le 0 en premier chiffre dans une textbox

  • Auteur de la discussion BEBER1212
  • Date de début

BEBER1212

Expert
Bonjour à tous,

Je voudrais savoir comment on peut autoriser le 0 s'il est en premier dans une textbox.
Je veux rentrer un numéro de téléphone coupé en 5 textbox et dans la première quand je mets 06, il ne garde que 6.

Merci.
 

BEBER1212

Expert
Ok je viens de comprendre (je pense) ;)

J'ai un fichier Excel 2003 qui contient du code VBA.
Sur une feuille j'ai un bouton qui m'ouvre un Userform sur lequel j'ai 5 textbox (max 2 caractères par textbox) pour enregistrer un numéro de téléphone.
Quand j'écris 06 par exemple, il me garde uniquement le 6.
J'aimerais donc savoir comment je peux faire pour qu'il me garde le 0 lorsqu'il est en premier.

Merci.
 

zeb

Modérateur
Ah, voilà c'est mieux.

Mais il va falloir développer encore plus. Ces textboxes, s'ils font disparaître tes zéros, c'est que quelque part ils sont liés à une variable de type entier.

En passant, 5 textboxes !!! :pfff: Utilise un MaskedTextBox.
 

BEBER1212

Expert
Effectivement, mes textbox sont "linked" à des cellules. J'ai donc modifié la mise en forme des cellules pour accepter le 0. Ça, c'est bon.
Par contre, je ne trouve rien sur MaskTextBox. C'est quoi ? Comment je peux m'en servir ?

Merci.
 

BEBER1212

Expert
Et autre question concernant les textbox :

J'ai plusieurs textbox avec des AutoTab. Dans la première il y a plusieurs lignes (MultiLine) et la possibilité d'aller à la ligne avec la touche entrée (EnterKeyBehavior).
Quand j'écris dans cette textbox sans faire entrée et que je passe à la textbox suivante (par Tab ou à la souris), ça fonctionne très bien. Par contre, si dans la première je vais à la ligne avec Entrée, et que je passe à la textbox suivante (Tab ou souris), je ne peux pas écrire dedans et Excel plante. Je ne sais pas pourquoi.

Une idée?

Merci.
 

zeb

Modérateur
MaskTextBox, ça s'écrit comme ça : MaskedTextBox.
Tu vas voir, c'est plus facile à trouver avec la bonne orthographe [:patch]

Aucune idée :/ pour ton plantage, d'autant que tu ne donnes pas le message.

Qu'est-ce que c'est que cette histoire de passer de TextBox en TextBox dans Excel.
Tu devrais te mettre à VB, carrément. Il existe des versions non payantes, ceux sont les versions Express :
 

BEBER1212

Expert
Bonjour,

J'avais trouvé des trucs avec MaskedTextBox, car Google est intelligent donc il savait ce que je voulais trouver, mais j'ai pas trouvé assez d'infos pour savoir comment l'utiliser.

Pour le plantage, je n'ai pas de message d'erreur. J'explique :

J'ai une textbox adresse dans laquelle je peux aller à la ligne pour mettre plus ou moins en forme :
12 rue de presence-pc.com
07183 FORUM

Et ensuite je passe dans les ( :( ) textbox du numéro de téléphone (Avec Tab ou souris) :
[06] [56] [78] [96] [45]

Voila ce que j'appelle passer de textbox en textbox.

Sauf que dès lors que je tape Entrée dans la textbox adresse et que je passe dans une autre textbox :
- je ne peux pas écrire dedans
- Excel plante (je ne peux rien faire dedans, ni enregistrer, ni fermer...)
- Idem pour Visual Basic

Mais je n'ai pas de message d'erreur.


Pour me mettre à VB, est ce que je vais pouvoir récupérer ce que j'ai déjà fait dans Excel (car j'ai déjà bien galeré :pt1cable: )

Merci.
 

zeb

Modérateur
Laisse tomber les MaskedTextBox.

A la place, formate ta cellule en "00 00 00 00 00", et lie (link ;) ) un et un seul textbox à cette cellule.

Excel est un tableur. La saisie est censé se faire dans des cellules, pas dans des formulaires plus ou moins bien faits (c'est une critique, pas du dénigrement :ange: )

Avec VB, tu feras des interfaces propres et tu pourras facilement interfacer Excel.

Tant que tu poseras des questions sur VB*, je te répondrais volontiers, mais je m'impose ce devoir de conseil que de proposer des solutions plus cohérentes.

;)
 

BEBER1212

Expert
Avec VB, est ce que je pourrais facilement :
- faire une liste récapitulative des données que je rentre ? (Style excel)
- faire des calculs sur cette liste (nombre de personnes, nombre de personnes ayant répondu...) ?
 

BEBER1212

Expert
Je viens de faire ce que tu m'as dis pour le numéro de téléphone, c'est à dire une seule textbox linked à une cellule formatée en "00 00 00 00 00", mais dans la textbox quand j'écris le numéro de tel, le premier 0 s'efface (il existe bien dans la cellule).
Il y a un moyen de le garder dans la textbox ?

Merci.

P.S : je viens de télécharger VB, mais je ne sais pas du tout comment commencer... :(
 

zeb

Modérateur
Bon, je confirme, tu cherches à faire en Excel des trucs bien trop éloignés du tableur.
Passe à VB.

Pour info, VB peut faire des listes récapitulatives. Il peut même le faire en Excel.
Quel type d'appli es-tu en train de fabriquer ?
 

BEBER1212

Expert
Je suis en train de me faire une liste récapitulative d'invités pour mon mariage (l'année prochaine).
Je dois donc :
- entrer les coordonnées de l'invité (userform 1 avec textbox et listbox)
- entrer ses invitations + acceptations (userform 2 avec checkbox + listbox)
- entrer son conjoint + enfants si il en a
- faire la liste récapitulative
- pouvoir modifier les coordonnées d'un invité + modifier ses acceptations (copier coller des userforms 1 et 2)
- comptabiliser le nombre total d'invités, les invités à l'église, au repas, au vin d'honneur...

Je reconnais que je ne pensais pas au début faire un truc si complexe, mais je prends goût à me creuser la tête.

Merci.
 

zeb

Modérateur
Et tu as besoin de 5 textbox pour saisir le numéro de téléphone de tes invités :pfff:
.
.
.
:lol:

Si le but du jeu est de faire la liste de tes invités, alors t'as tout faux.

Si au contraire ce n'est qu'un prétexte pour apprendre à te servir d'Excel, c'est une très bonne chose.

Si c'est pour apprendre à programmer, attention jeune homme, on y prend vite goût. Et c'est ta jeune fiancé qui va se languir ...

Bon plus sérieusement. Excel n'est pas adapté à la conception d'interface de saisie. Au contraire, tout est prévu pour que cette saisie se fasse directement dans les cellules. Qu'importe, on peut quand même insister.

Sinon, pour gérer une liste un peu complexe, on peut utilise une petite base de données, genre Access. C'est un peu trop gros pour ce que tu te proposes de faire, mais tu peux y trouver l'intérêt d'apprendre à t'en servir. Dès qu'il y a plus de 65536 éléments dans une liste, on doit abandonner Excel de toutes façons. M'enfin, je ne pense pas que même au vin d'honneur il y aura autant de monde ;)

Reste une autre solution, si tu aimes les zolis écrans de saisie : VB. Lui, il est fait pour ça. En plus, dans VB, on peut stocker les données dans une base Access par exemple, et les restituer dans une feuille Excel par exemple. Ce n'est vraiment pas difficile, surtout que tu as déjà taté de VBA.

Quelque soit ton choix, ce site est là pour t'aider. Mais n'en demande pas trop à Excel ;)

La bise à ta fiancée
(Rhooooooo !)
 

BEBER1212

Expert
Le but du jeu est bien de faire la liste, de les comptabiliser, et de pouvoir les trier par critères (noms, âges...).

Quand j'aurai réussi à faire tout ça , chapeau !!!

Je rassure ma fiancée (comme si elle allait venir lire ça...), ce n'est pas un prétexte pour apprendre à coder. Je n'en ai pas vraiment l'utilité, à part ce que je fais en ce moment, et je ne prévois pas de me marier tous les ans. Et puis de toutes façons j'aurai déjà mon fichier :)

Bien que je n'aie pas plus de 65536 invités, je vais donc tenter avec VB, mais je ne sais pas du tout comment commencer. De longues heures sur Google en perspective... :pt1cable:
Est ce qu'il faut faire des Userform comme dans Excel ? Comment je crée la base de données ? Est ce que je dois faire un "Tableau" comme dans Excel ?
Tout plein de questions...

Et pas de VB au boulot... Dommage.

Merci pour l'aide passée, et l'aide à venir... :sweat:
 

zeb

Modérateur
Je suis bien embêté avec toi ! Je ne sais plus trop quoi te dire.

M'enfin, pourquoi ce besoin de faire des userforms alambiqués ?
Saisis le nom, l'âge et le numéro de téléphone dans ta feuille, tout simplement :spamafote:
Une fois tes données dans ta feuille, Excel saura te les trier sans l'once d'une ligne de macro.

Cela dit, si ça t'amuse !

----------------------------------

Oui, en VB on fait des UserForms. On appelle ça des Forms, tout court. D'ailleurs quand tu ouvres un nouveau projet, une Form est déjà créée, c'est le fenêtre principale. Et pour stocker les données, on peut utiliser un fichier plat (fichier texte de données, genre CSV), une base de données .MDB, un classeur Excel ( :D ) ...
 

BEBER1212

Expert
Le truc, c'est que je veux que quelqu'un d'autre puisse remplir la liste, facilement, sans mettre n'importe quoi dans les cases, sans supprimer des données par erreur...

Donc le fait d'avoir des userforms, ça me permet de contrôler les données. Mais il y a surement d'autres moyens beaucoup mieux pour fair ça, sauf que je ne les connais pas.
Je l'avais dit : je débute...
 

zeb

Modérateur
Ah, mais débuter en programmation, ça ne veut pas dire débuter en bureautique.
Tu pourrais savoir maîtriser les feuilles et les formules Excel sans bien connaître VBA.

Voilà ce que nous allons faire.
Tu vas créer un nouveau projet dans VB.
Avec quatre gros boutons :
■ Voir la liste
■ Ajouter dans la liste
■ Modifier dans la liste
■ Supprimer de la liste
■ Quitter
Tu remarqueras que ça fait cinq. :D

Ça y est ?
 

BEBER1212

Expert
Non ça y est pas. J'ai pas VB au boulot (et j'y suis).

Donc je ferai ça ce soir.

Merci en tout cas.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 162
Messages
6 718 628
Membres
1 586 456
Dernier membre
Deverlord
Partager cette page
Haut