Formulaire VBA - Convertir textbox en code postal ou numéro de téléphone

Bonjour à tous,

Débutant en VBA et n'ayant pas trouver ma réponse sur différents sites, je m'en remets à vous !

Suite à un tutoriel sur Youtube, j'ai réussi à créer mon tout premier formulaire en VBA pour l'ajout de clients ou de prospects dans un tableau Excel.

Mon formulaire fonctionne bien mais lorsque j'ai fini ma saisie dans mon formulaire et que je valide, l'ajout des données se fait au format "Texte", ce qui est embêtant pour le code postal ou les numéros de téléphone car il faudrait les convertir manuellement à chaque fois et j'aimerais que cela soit automatique.

Donc ma question est de savoir comment je peux faire la conversion automatique de ces textbox ?

75test.xlsm (32.84 Ko)

Dans l'attente de votre réponse, merci !

Bonjour,

Rajoute simplement .Value au bout des des contrôles

ex:

TxtCP.Value

Bonjour,

Pour les téléphones vous pouvez changer comme ceci (exemple avec Tel portable)

ActiveCell.Offset(0, 10).Value = Format(TxtTelPortable, "0#"" ""##"" ""##"" ""##"" ""##")

Cordialement

Salut Vengeek,
Salut les as,

quelques pistes...
- pour l'inscription des n° postaux et téléphones, forcer le format nombre avec Val

ActiveCell.Offset(0, 6).Value = Val(TxtCP)

- lors de l'encodage de ces n°, interdire tout caractère autre que des chiffres

Private Sub TxtTelFixe_Change()
If Asc(Right(Me.TxtTelFixe.Text, 1)) < 48 Or Asc(Right(Me.TxtTelFixe.Text, 1)) > 57 Then Me.TxtTelFixe.Text = Left(Me.TxtTelFixe.Text, Len(Me.TxtTelFixe.Text) - 1)
End Sub


A+

Re,

Salut Curulis

De mon côté, jai les deux petites macros ci-après qui gère les caractères et le format

les deux peuvent-être utilisés également après modif.

Private Sub txtTel_Change()
  Texte = Me.txtTel.Text
  Select Case Len(Texte)
  'Mettre un espace de séparation tout les 2 chiffres
  Case 2, 5, 8, 11
  Texte = Texte & " "
  End Select
  Me.txtTel.Text = Texte
  Me.txtTel.MaxLength = 14 'Défini la longueur Max de chiffre
End Sub

Private Sub txtTel_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  'Interdire les lettres dans le TextBox
  If InStr("0123456789", Chr(KeyAscii)) = 0 Then
      KeyAscii = 0: Beep
      'Si erreur alors message
      txtTel.ControlTipText = "Uniquement des chiffres, SVP !"
  End If
End Sub

Merci à tous pour vos solutions, ça fonctionne comme je le souhaite !

Un grand merci à tous !

Rechercher des sujets similaires à "formulaire vba convertir textbox code postal numero telephone"