Microsoft 365 VBA question sur numéro Téléphone

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mld.sebastien

XLDnaute Junior
Bonjour,

Je cherche comment je pourrais faire pour un format de numéro téléphonique dans une textbox.
Dans mon fichier excel mon formulaire je rajoute un numéro de téléphone sauf que actuellement j'utilise juste cela :

VB:
Private Sub TxtTelephone_Exit(ByVal Cancel As MSForms.ReturnBoolean)

      Me.TxtTelephone.Value = Format(TxtTelephone.Value, "0#"" ""##"" ""##"" ""##"" ""##")

End Sub

mais le souci c'est que j'ai deux format de téléphone un qui commence en 0x xx xx xx xx et un autre en 8xx xxx xx xx es possible de savoir quand je tape le 0 il ce met au format "0#"" ""##"" ""##"" ""##"" ""##" et quand je tape le 8 c'est ce format qui est pris en compte "8##"" ""###"" ""##""##"

Comment je pourrais faire cela ??
Cordialement.
 
Solution
Bonjour.
Essayez comme ça :
VB:
Private Sub TxtTelephone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Dim Tel As Double
   Tel = CDbl(Me.TxtTelephone.Text)
   Me.TxtTelephone.Text = Format(Tel, IIf(Tel >= 8000000000#, "000 0", "00 00 ") & "00 00 00")
   End Sub
Bonjour.
Essayez comme ça :
VB:
Private Sub TxtTelephone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Dim Tel As Double
   Tel = CDbl(Me.TxtTelephone.Text)
   Me.TxtTelephone.Text = Format(Tel, IIf(Tel >= 8000000000#, "000 0", "00 00 ") & "00 00 00")
   End Sub
 
Dernière édition:
J'ai fait ce code la :

VB:
Private Sub TxtTelephone_Change()
  Me.TxtTelephone.MaxLength = 10 'Défini la longueur Max de chiffre
End Sub

Private Sub TxtTelephone_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Dim Tel As Double
   Tel = CDbl(Me.TxtTelephone.Text)
   Me.TxtTelephone.Text = Format(Tel, IIf(Tel >= 8000000000#, "000 0", "00 00 ") & "00 00 00")
   End Sub

Private Sub TxtTelephone_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  'Interdire les lettres dans le TextBox
    If Not (KeyAscii >= 48 And KeyAscii <= 57) Then
    KeyAscii = 0
      'Si erreur alors message
      MsgBox "Uniquement des chiffres, SVP !"
  End If
End Sub

Pensez vous que je peu l’améliorer dans un seul Private SUb ??
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
147
Réponses
38
Affichages
482
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Réponses
2
Affichages
405
Retour