|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir à tous,
J'ai beau cherché un exemple sur les masques de saisie dans les UserForm, mais rien de trouver. Alors, je souhaite qu'un tel masque : "___ __ __ __" apparaisse dans la textbox et que je n'ai qu'à saisir un numéro de téléphone comme ceci : 012320082 pour qu'il soit afficher : 012 32 00 82 (Les chiffres remplacent les _). Est-ce possible ? Merci. |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Ludo Inscription : février 2010 Messages : 104 ![]() |
__________________
Cordialement |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir LouiMz;
Mais les tirets ou ça doit être la saisie, n'apparaissent pas ! |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() J-Pierre CatherineConception Calcul Inscription : juillet 2007 Messages : 659 ![]() |
Bonjour
Avec SelStart Code :
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci ![]() ---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
|
||
|
|
20
|
|
|
#5 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir Jean-Pierre,
Le masque s'affiche normalement, et les touches "Back space" et "Suppr" n'effacent pas les tirets, mais reste que les chiffres refusent d'être saisies. Bonjour, Y a-t-il un moyen pour résoudre ce problème ? Merci. |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Ludo Inscription : février 2010 Messages : 104 ![]() |
Bonjour,
Pouvez-vous poster votre code afin que nous puissions vous répondre efficacement ?
__________________
Cordialement |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir LouiMz,
J'utilise le code de Jean-Pierre49 en haut. |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonjour,
Je viens de créer un nouveau UserForm avec un TextBox au lieu d'intégrer le code dans mon projet comme je l'avais fait. Le masque s’affiche et les chiffres s'écrivent normalement. Maintenant j'aimerais reproduire les touches "Back Space" et "Suppr" sur le texte du Textbox parce que l'effacement pour le "Back Space" s'arrête lorsqu'elle rencontre le premier espace entre les tirets et "Suppr" lorsqu'elle est utilisée, efface tout le texte dans le TextBox. Merci d'avance Edit : Nouveau fichier en PJ. |
|
|
00
|
|
|
#9 | |||
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir,
Une autre alternative non concluante : Code :
Citation:
|
|||
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé
![]() |
bonjour a tous
sans vouloir blésser qui que ce soit je trouve que c'est beaucoup pédaler pour un simple masque de saisie essaie ca dans un userform avec un textbox Code :
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
||
|
|
00
|
|
|
#11 | ||
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bojour Patrick,
Merci pour ta réponse, mais désolé ça ne gère pas les touches "BackSpace" et "Suppr". Edit : Un autre essai (jp14) : Code :
Mais reste que je cherche à mémoriser la position d'ou à commencer la suppression dans la variable En utilisant la touche "Suppr" les chiffres sont supprimés mais le curseur ne revient pas à la position d'ou on a utilisé la touche "Suppr" pour écrire à nouveau les chiffres, ce qui fait qu'ils sont écris depuis le dernier caractère effacé. J’ai ajouté dans la version v3, le traitement des espaces entres les tirets. |
||
|
|
00
|
|
|
#12 | ||
|
Expert Confirmé
![]() |
bonjour apt
tien voila un exemple qui gere la touche effacer(keycode 8) je travaille encore sur la touche supp j'ai créé une fonction (texte_formaté) Code :
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
||
|
|
00
|
|
|
#13 | |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonjour Patrick,
Ca donne une erreur dans la ligne : Citation:
|
|
|
|
00
|
|
|
#14 | ||||
|
Expert Confirmé
![]() |
bonjour
j'avoue que je ne comprend pas bien pourquoi cela dit j'ai modifié un peu le code tiens essaie ca : Code :
je travaille toujour sur la touche supp au plaisir tiens voila maintenant on gere la touche supp mais il me reste encore a positioner le curseur a l'endroit ou se trouvait le curseur au moment de l'appui sur la touche supp Code :
au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
||||
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir Patrick,
La touche supprime depuis la derniere position et non pas depuis l'endroit du curseur, en plus elle efface deux chiffres au maximum !!! |
|
|
00
|
|
|
#16 |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
@ apt, tu peux t'inspirer de la démarche de ce tuto, même le copier-coller est prévu... Approche d'une résolution de besoin en VBA niveau débutant Obliger une saisie numérique dans une TextBox Cordialement, Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() |
bonjour apt
j'ai oublié de te dire que pour utiliser la touche supp il fallait positioner le curseur ou tu voulais supprimer le chiffre sinon il n'y a aucun interet a utiliser la touche supp puisque la touche effacer suprime le dernier chifre de droite vers la gauche enfin c'est une question de logique je suis en train de travailler sur une autre solution au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
00
|
|
|
#18 | |||
|
Membre du Club
![]() Inscription : mai 2002 Messages : 526 ![]() |
Bonsoir Ormonth, Patrick
Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#19 | ||
|
Expert Confirmé
![]() |
bonjour
ben voila une solution complète en effet ce qui a été difficile sur ce problème c'est la façon des fonctions d'origine du textbox ont de traiter puis en allant au plus simple en observant le comportement du textbox quant on tape des caractères dessus sans macro je me suis aperçu que l'on pouvait contourner le problème les problèmes étant : le remplissage du texte box avec 12 caractères espaces et tiret compris le placement du curseur selon la touche tapé le pavé numérique la touche effacer la touche suppr les flèches droites et gauche et mon joker la touche étoile du paver numérique en fait j'ai changer de stratégie je ne me sert plus de "textbox_keypress" pour déterminer le caractère tapé puisque sans macro le caractères s'inscrit quand on le tape en fait la stratégie n'est plus de construire la chaîne numérique mais de la récupérer dans le textbox ensuite on ajoute la partie droite de la chaîne vide préformatée correspondant au caractère manquant de la chaîne numérique a la chaîne vide qui a été déclarée en constante en haut de module voila pour la chaîne rendu dans la textbox ensuite on doit placer le curseur en fonction de ce que l'on vient de taper pour cela dans cette 4 eme version j'utilise la fonction"textbox_keydown" ensuite en fonction de la situation du textbox et de ce que tu a fait 1 coup en arrière le curseur est placé le principe: 1° pour les caractères(chiffre ,tiret,espace) au départ tu a un textbox vide donc il est inscrit dedans "___ __ __ __" ensuite tu tape un chiffre il s'inscrit dans le textbox ensuite dans la fonction textbox_change on boucle sur tout les caracteres y compris les espaces on en récupère les caractères numériques dans la variable "chaîne" on met une condition sur la longueur de la chaîne si c'est 3 ou 6 ou 9 la chaine est egale a la chaine + un espace nous voila donc avec la variable chaine formaté selon ton style désiré ensuite si la chaine numerique n'est pas complete on la complete avec la partie droite de la chaine vide correspondant au caracteres manquants il nous reste plus qu'a inscrire le tout dans le textbox 2°nous allons gérer ici le curseur a l'aide de la fonction "textbox_keydown" si je tape sur le pavé numerique et que je n'est pas tapé sur les touche supp et effacer alors le curseur est egale a la longeur de la chaine+1 si j'ai tapé auparavent sur la touche supp ca veut dire que j'ai modifié une partie de la chaine numerique qui etait deja en place je bloque donc le curseur a l'endroit ou jai supprimer pour pouvoir réécrire un chiffre ou plusieur si j'ai tapé sur la touche effacer je recule le curseur d'une position puisqu'en meme temp il eface le dernier chiffre je me sert aussi de la fonction "TextBox1_DblClick" en effet naturellement et sans macro quand tu double clic dans un textbox rempli a l'endroit du curseur si le text est separé par des espaces seul la portion de text est sélectionnée en bleu dans ce cas la si tu tape sur la touche supp toute la partie est supprimé autant s'en servir pour par exemple supprimer un des 4 groupe de chiffre le curseur est positionné alors a l'endroit ou doit démarrer le debut de ce groupe je me suis servie de la touche etoile comme jocker elle efface tout et remet la chaine vide préformaté assez de blabla voila le code a metre dans ton userform avec un textbox Code :
j'espere que ca te conviendra au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
||
|
|
00
|
|
|
#20 | |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
il y a 8 jours .....
Citation:
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com