OVH Cloud OVH Cloud

activeX

12 réponses
Avatar
isabelle
hi everybody,

savez-vous s'il existe parmit tout les nouveaux activeX quelque chose du genre PhoneNumBox ?

thank a lot
isabelle

2 réponses

1 2
Avatar
michdenis
Bonjour Isabelle,

Je te propose une fonction pour gérer la saisie des numéros de téléphone. Cela devrait aller si tes formats ont
la forme suivante : (819) 589-9696 .

Pour chaque Textbox devant contenir un numéro de téléphone, tu dois déclarer ceci en prenant soin de modifier le nom du
textbox dans la ligne de code :
'------------------------------------
Private Sub TextBox1_Change()

TextBox1 = Telephone(TextBox1)

End Sub
'------------------------------------


La fonction, tu la plage dans un module standard
'----------------------------------
Function Telephone(Tbox As MSForms.TextBox)

Dim Nb As Integer, R As String, G As String
Dim T As String, arr(), A As Integer

arr = Array("(", ")", "-", " ")
T = Tbox
For Each elt In arr
T = Replace(T, elt, "")
Next

Nb = Len(T)
If Nb > 10 Then
Tbox = Left(Tbox, Len(Tbox) - 1)
Telephone = Tbox
Exit Function
End If
For A = 1 To Nb
If IsNumeric(Mid(T, A, 1)) = True Then
R = R & Mid(T, A, 1)
End If
Next
If Nb >= 4 And Nb <= 6 Then
G = "(" & Left(R, 3) & ") " & Right(R, Len(R) - 3)
ElseIf Nb > 6 And Nb <= 10 Then
G = "(" & Left(R, 3) & ") " & Mid(R, 4, 3) & "-" & Right(R, Len(R) - 6)
Else
G = R
End If
Telephone = G
End Function
'----------------------------------


L'autre alternative, est l'utilisation d'un module de classe pour les textbox contenant des numéros de téléphone... tu peux
télécharger un classeur exemple que j'ai commis sur le site de Misange. Le code est commenté.



Salutations!




"isabelle" a écrit dans le message de news:
salut,

Connais-tu le format des numéros de téléphone à l'avance ?


oui

Dois-tu entrer à chaque entrée le code régionale par exemple ?


oui

Est-ce que tous tes textbox devront afficher le même format ?


oui les entrées de la table doivent avoir le format numérique 5552228888
il sont formater par la suite en ###-###-#### ou (###)###-#### dans le différent état
le formulaire que je créer servira a l'ajout et à la modification d'un enregistrement.

isabelle



isabelle


Comme par exemple (819) 555-555

Salutations!

"isabelle" a écrit dans le message de news:
jusqu'à présent j'utilisais ce code :

'ces textbox sont placer dans le frame1
'le textbox4 est cacher sous le textbox3

Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1.Value) Then
TextBox1.Value = ""
TextBox1.SetFocus
End If
If Len(TextBox1.Value) = 3 Then
TextBox2.SetFocus
End If
End Sub

Private Sub TextBox2_Change()
If Not IsNumeric(TextBox2.Value) Then
TextBox2.Value = ""
TextBox2.SetFocus
End If
If Len(TextBox2.Value) = 3 Then
TextBox3.SetFocus
End If
End Sub

Private Sub TextBox3_Change()
If Not IsNumeric(TextBox3.Value) Then
TextBox3.Value = ""
TextBox1.SetFocus
End If
If Len(TextBox3.Value) = 4 Then
TextBox4.SetFocus
End If
End Sub

mais là je dois réaliser un formulaire comprenant 16 entrées de numéro de téléphone
8 nom de contact, 8 num.téléphone au travail, 8 num.téléphone cellulaire,
si je doit utilisé ce code ça me fait 48 texbox juste pour cette partie,

isabelle


Bonjour Isabelle,

Si tu recherche du code pour faire appeler excel à ta place ... tu peux essayer ceci :

Declare Function DialAnyPhoneNumber Lib "tapi32.dll" Alias "tapiRequestMakeCall" ( _
ByVal strPhoneNumber As String, _
ByVal strArg1 As String, _
ByVal strArg2 As String, _
ByVal strArg3 As String) As Long

Sub PlacePhoneCall(strTelephoneNumberToDial As String)

' ---------------------------------------------------------------------------------
' Author: Calvin Smith -
' Environment(s): MS Access (32-bit) / Visual Basic (32-bit)
' ---------------------------------------------------------------------------------
'
' *****************************************
' * Courtesy code from my CodeDisk© product
' *****************************************
'
' ----------------------------------------------------------------------------
' Purpose: Example of how to place a phone call from VB / VBA code
'
' Accepts: strTelephoneNumberToDial as the valid phone number
'
' Returns: Nothing
'
' Example usage: PlacePhoneCall "1-800-555-5555"
' ----------------------------------------------------------------------------
'
On Error GoTo ErrorHandling_Err

DialAnyPhoneNumber strTelephoneNumberToDial$, "", "", ""

ErrorHandling_Exit:
Exit Sub

ErrorHandling_Err:

If Err Then
'Trap your error(s) here, if any!
Resume ErrorHandling_Exit
End If

End Sub

'----------------------
Sub Appel()

PlacePhoneCall "555-5555"
End Sub
'----------------------

Salutations!

"isabelle" a écrit dans le message de news:
salut denis,

merci de l'info, c'est un contrôle activeX que j'aimerais trouver pour l'utiliser dans un userform.
j'ai trouver sur le net des controle Numbox, des faux car il sont créer à partir de textbox, et des vrai écrit en vb6 ou
en c++
il existe quelque chose de semblable sous access mais on ne peut l'utiliser sous excel.

isabelle


Bonjour Isabelle,

Il existe plusieurs programme de "Phone" ...certains gratuits ... je te propose cette adresse même si l'ocx est payant
...c'est seulement à titre d'exemple... je ne connais absolument pas cet ocx ...une recherche sur google ... plusieurs
propositions sont faites !

http://excelocxa.say-it-now.com/

Salutations!

"isabelle" a écrit dans le message de news:
hi everybody,

savez-vous s'il existe parmit tout les nouveaux activeX quelque chose du genre PhoneNumBox ?

thank a lot
isabelle






Avatar
isabelle
ça fait mon bonheur denis,
un gros merci
bisou
isabelle


Bonjour Isabelle,

Je te propose une fonction pour gérer la saisie des numéros de téléphone. Cela devrait aller si tes formats ont
la forme suivante : (819) 589-9696 .

Pour chaque Textbox devant contenir un numéro de téléphone, tu dois déclarer ceci en prenant soin de modifier le nom du
textbox dans la ligne de code :
'------------------------------------
Private Sub TextBox1_Change()

TextBox1 = Telephone(TextBox1)

End Sub
'------------------------------------

La fonction, tu la plage dans un module standard
'----------------------------------
Function Telephone(Tbox As MSForms.TextBox)

Dim Nb As Integer, R As String, G As String
Dim T As String, arr(), A As Integer

arr = Array("(", ")", "-", " ")
T = Tbox
For Each elt In arr
T = Replace(T, elt, "")
Next

Nb = Len(T)
If Nb > 10 Then
Tbox = Left(Tbox, Len(Tbox) - 1)
Telephone = Tbox
Exit Function
End If
For A = 1 To Nb
If IsNumeric(Mid(T, A, 1)) = True Then
R = R & Mid(T, A, 1)
End If
Next
If Nb >= 4 And Nb <= 6 Then
G = "(" & Left(R, 3) & ") " & Right(R, Len(R) - 3)
ElseIf Nb > 6 And Nb <= 10 Then
G = "(" & Left(R, 3) & ") " & Mid(R, 4, 3) & "-" & Right(R, Len(R) - 6)
Else
G = R
End If
Telephone = G
End Function
'----------------------------------

L'autre alternative, est l'utilisation d'un module de classe pour les textbox contenant des numéros de téléphone... tu peux
télécharger un classeur exemple que j'ai commis sur le site de Misange. Le code est commenté.

Salutations!

"isabelle" a écrit dans le message de news:
salut,

Connais-tu le format des numéros de téléphone à l'avance ?


oui

Dois-tu entrer à chaque entrée le code régionale par exemple ?


oui

Est-ce que tous tes textbox devront afficher le même format ?


oui les entrées de la table doivent avoir le format numérique 5552228888
il sont formater par la suite en ###-###-#### ou (###)###-#### dans le différent état
le formulaire que je créer servira a l'ajout et à la modification d'un enregistrement.

isabelle

isabelle


Comme par exemple (819) 555-555

Salutations!

"isabelle" a écrit dans le message de news:
jusqu'à présent j'utilisais ce code :

'ces textbox sont placer dans le frame1
'le textbox4 est cacher sous le textbox3

Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1.Value) Then
TextBox1.Value = ""
TextBox1.SetFocus
End If
If Len(TextBox1.Value) = 3 Then
TextBox2.SetFocus
End If
End Sub

Private Sub TextBox2_Change()
If Not IsNumeric(TextBox2.Value) Then
TextBox2.Value = ""
TextBox2.SetFocus
End If
If Len(TextBox2.Value) = 3 Then
TextBox3.SetFocus
End If
End Sub

Private Sub TextBox3_Change()
If Not IsNumeric(TextBox3.Value) Then
TextBox3.Value = ""
TextBox1.SetFocus
End If
If Len(TextBox3.Value) = 4 Then
TextBox4.SetFocus
End If
End Sub

mais là je dois réaliser un formulaire comprenant 16 entrées de numéro de téléphone
8 nom de contact, 8 num.téléphone au travail, 8 num.téléphone cellulaire,
si je doit utilisé ce code ça me fait 48 texbox juste pour cette partie,

isabelle


Bonjour Isabelle,

Si tu recherche du code pour faire appeler excel à ta place ... tu peux essayer ceci :

Declare Function DialAnyPhoneNumber Lib "tapi32.dll" Alias "tapiRequestMakeCall" ( _
ByVal strPhoneNumber As String, _
ByVal strArg1 As String, _
ByVal strArg2 As String, _
ByVal strArg3 As String) As Long

Sub PlacePhoneCall(strTelephoneNumberToDial As String)

' ---------------------------------------------------------------------------------
' Author: Calvin Smith -
' Environment(s): MS Access (32-bit) / Visual Basic (32-bit)
' ---------------------------------------------------------------------------------
'
' *****************************************
' * Courtesy code from my CodeDisk© product
' *****************************************
'
' ----------------------------------------------------------------------------
' Purpose: Example of how to place a phone call from VB / VBA code
'
' Accepts: strTelephoneNumberToDial as the valid phone number
'
' Returns: Nothing
'
' Example usage: PlacePhoneCall "1-800-555-5555"
' ----------------------------------------------------------------------------
'
On Error GoTo ErrorHandling_Err

DialAnyPhoneNumber strTelephoneNumberToDial$, "", "", ""

ErrorHandling_Exit:
Exit Sub

ErrorHandling_Err:

If Err Then
'Trap your error(s) here, if any!
Resume ErrorHandling_Exit
End If

End Sub

'----------------------
Sub Appel()

PlacePhoneCall "555-5555"
End Sub
'----------------------

Salutations!

"isabelle" a écrit dans le message de news:
salut denis,

merci de l'info, c'est un contrôle activeX que j'aimerais trouver pour l'utiliser dans un userform.
j'ai trouver sur le net des controle Numbox, des faux car il sont créer à partir de textbox, et des vrai écrit en vb6 ou
en c++
il existe quelque chose de semblable sous access mais on ne peut l'utiliser sous excel.

isabelle


Bonjour Isabelle,

Il existe plusieurs programme de "Phone" ...certains gratuits ... je te propose cette adresse même si l'ocx est payant
...c'est seulement à titre d'exemple... je ne connais absolument pas cet ocx ...une recherche sur google ... plusieurs
propositions sont faites !

http://excelocxa.say-it-now.com/

Salutations!

"isabelle" a écrit dans le message de news:
hi everybody,

savez-vous s'il existe parmit tout les nouveaux activeX quelque chose du genre PhoneNumBox ?

thank a lot
isabelle








1 2