Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Téléphoner avec Excel

5 réponses
Avatar
garnote
Bonjour,

J'ai cette macro de Monsieur Walkenbach que je n'arrive pas
à faire fonctionner.
Que faut-il faire pour pouvoir utiliser cette macro ?

'Attribute VB_Name = "ProcPourTelephoner2"

'Transmets le contenu de la cellule active (un numéro de téléphone)
'au numéroteur de Windows puis compose le numéro.
'(Les commentaires de l'auteur détaillent les opérations)
'John Walkenbach, mpep

Sub CellToDialer()
' Transfers active cell contents to Dialer
' And then dials the phone

' Get the phone number
CellContents = ActiveCell.Value
If CellContents = "" Then
MsgBox "Select a cell that contains a phone number."
Exit Sub
End If

' Activate (or start) Dialer
Appname = "Dialer"
AppFile = "Dialer.exe"
On Error Resume Next
AppActivate (Appname)
If Err <> 0 Then
Err = 0
TaskID = Shell(AppFile, 1)
If Err <> 0 Then MsgBox "Can't start " & AppFile
End If

' Transfer cell contents to Dialer
Application.SendKeys "%n" & CellContents, True

' Click Dial button
Application.SendKeys "%d"
End Sub

Et une autre question dont la réponse est fort probablement
"IMPOSSIBLE". Mais sait-on jamais, il y a des sorciers
sur ce site de news ;-)
À partir du nom d'une personne, de son adresse et de son
code postal entrés dans des cellules, peut-on obtenir son
numéro de téléphone dans une autre cellule ?
Pour trouver un numéro de téléphone, j'utilise le site Canada 411.
Est-ce possible d'automatiser cette recherche ?

Serge

5 réponses

Avatar
Essart
Bonjour Garnote,

Pour la 2ème partie de ta question :
-> Et une autre question ...
À partir du nom d'une personne, de son adresse et de son
code postal entrés dans des cellules, peut-on obtenir son
numéro de téléphone dans une autre cellule ?

La réponse est oui :
En Cjoint, un petit fichier que j'ai eu l'occasion de développer (avec
l'aide de JB pour la partie du Userform ...)

Dans la feuille Produit, les différents éléments composant chaque item, avec
la concaténation résultante dans la colonne N
et le prix en colonne G
(seule la taille est reprise de la feuille BD ...

Si tu vas dans la feuille Facture_Type_Commerce,
tu cliques sur une cellule B entre 15 et 22,
et là :

- soit tu sélectionnes une validation en B, puis en E puis en F, et en G le
prix correspondant se met automatiquement (par Index/Equiv ...)

- soit par program, en appuyant sur le bouton GO et le résultat (le même !)
se mettra dans la cellule en G ...
(à noter que, dans le formulaire, on n'est pas obligé de sélectionner chaque
combobox constitutive de l'item,
et que l'on peut aller directement à la plus sélective, celle nommée
"Référence" en se dispensant des 2 1ères ...)

Le fichier était beaucoup plus gros, et je n'ai gardé que le cour du sujet
... !
Si tu as un problème, n'hésite pas.

http://cjoint.com/?kbj35wdECB

Essart
Avatar
FS
Bonjour,

Cette procédure envoie des SendKeys avec des raccourcis clavier
correspondant certainement à une version anglaise. Essaye de les
modifier en vérifiant sur ta version.
Et il faut aussi sans doute passer le chemin complet de l'exécutable
Dialer.exe pour que la macro puisse le lancer. A voir sur ton système.
Je ne réussis pas non plus à faire marcher aucune des 3 procédures que
j'ai mises en ligne pour téléphoner ! Je les avais pourtant testées avec
Excel 2002 et windows xp... (il va falloir faire du ménage :( )

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

garnote a écrit :
Bonjour,

J'ai cette macro de Monsieur Walkenbach que je n'arrive pas
à faire fonctionner.
Que faut-il faire pour pouvoir utiliser cette macro ?

'Attribute VB_Name = "ProcPourTelephoner2"

'Transmets le contenu de la cellule active (un numéro de téléphone)
'au numéroteur de Windows puis compose le numéro.
'(Les commentaires de l'auteur détaillent les opérations)
'John Walkenbach, mpep

Sub CellToDialer()
' Transfers active cell contents to Dialer
' And then dials the phone

' Get the phone number
CellContents = ActiveCell.Value
If CellContents = "" Then
MsgBox "Select a cell that contains a phone number."
Exit Sub
End If

' Activate (or start) Dialer
Appname = "Dialer"
AppFile = "Dialer.exe"
On Error Resume Next
AppActivate (Appname)
If Err <> 0 Then
Err = 0
TaskID = Shell(AppFile, 1)
If Err <> 0 Then MsgBox "Can't start " & AppFile
End If

' Transfer cell contents to Dialer
Application.SendKeys "%n" & CellContents, True

' Click Dial button
Application.SendKeys "%d"
End Sub

Et une autre question dont la réponse est fort probablement
"IMPOSSIBLE". Mais sait-on jamais, il y a des sorciers
sur ce site de news ;-)
À partir du nom d'une personne, de son adresse et de son
code postal entrés dans des cellules, peut-on obtenir son
numéro de téléphone dans une autre cellule ?
Pour trouver un numéro de téléphone, j'utilise le site Canada 411.
Est-ce possible d'automatiser cette recherche ?

Serge









Avatar
michdenis
Bonjour Frédéric,

| Je ne réussis pas non plus à faire marcher aucune
| des 3 procédures que j'ai mises en ligne pour téléphoner !

J'en ai déjà eu un téléphone comme ça !
;-))



"FS" a écrit dans le message de groupe de discussion :

Bonjour,

Cette procédure envoie des SendKeys avec des raccourcis clavier
correspondant certainement à une version anglaise. Essaye de les
modifier en vérifiant sur ta version.
Et il faut aussi sans doute passer le chemin complet de l'exécutable
Dialer.exe pour que la macro puisse le lancer. A voir sur ton système.
Je ne réussis pas non plus à faire marcher aucune des 3 procédures que
j'ai mises en ligne pour téléphoner ! Je les avais pourtant testées avec
Excel 2002 et windows xp... (il va falloir faire du ménage :( )

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

garnote a écrit :
Bonjour,

J'ai cette macro de Monsieur Walkenbach que je n'arrive pas
à faire fonctionner.
Que faut-il faire pour pouvoir utiliser cette macro ?

'Attribute VB_Name = "ProcPourTelephoner2"

'Transmets le contenu de la cellule active (un numéro de téléphone)
'au numéroteur de Windows puis compose le numéro.
'(Les commentaires de l'auteur détaillent les opérations)
'John Walkenbach, mpep

Sub CellToDialer()
' Transfers active cell contents to Dialer
' And then dials the phone

' Get the phone number
CellContents = ActiveCell.Value
If CellContents = "" Then
MsgBox "Select a cell that contains a phone number."
Exit Sub
End If

' Activate (or start) Dialer
Appname = "Dialer"
AppFile = "Dialer.exe"
On Error Resume Next
AppActivate (Appname)
If Err <> 0 Then
Err = 0
TaskID = Shell(AppFile, 1)
If Err <> 0 Then MsgBox "Can't start " & AppFile
End If

' Transfer cell contents to Dialer
Application.SendKeys "%n" & CellContents, True

' Click Dial button
Application.SendKeys "%d"
End Sub

Et une autre question dont la réponse est fort probablement
"IMPOSSIBLE". Mais sait-on jamais, il y a des sorciers
sur ce site de news ;-)
À partir du nom d'une personne, de son adresse et de son
code postal entrés dans des cellules, peut-on obtenir son
numéro de téléphone dans une autre cellule ?
Pour trouver un numéro de téléphone, j'utilise le site Canada 411.
Est-ce possible d'automatiser cette recherche ?

Serge









Avatar
michdenis
Pour composer un numéro de téléphone, tu peux utiliser ceci :


'Déclaration des Api dans le haut du module standard :
Option Explicit
Private Declare Function tapiRequestMakeCall& _
Lib "TAPI32.DLL" (ByVal DestAddress$, _
ByVal AppName$, ByVal CalledParty$, ByVal Comment$)
Private Const TAPIERR_NOREQUESTRECIPIENT = -2&
Private Const TAPIERR_REQUESTQUEUEFULL = -3&
Private Const TAPIERR_INVALDESTADDRESS = -4&

'--------------------------------------
Public Sub Signaler(strNumero As String)
Dim message As String
Dim nResult As Long
nResult = tapiRequestMakeCall&(Trim(strNumero), _
CStr("Auto-Dial"), "Numérotation", "Commentaire") ', "")
If nResult <> 0 Then
message = "Erreur : "
Select Case nResult
Case TAPIERR_NOREQUESTRECIPIENT
message = message & "NOREQUESTRECIPIENT."
Case TAPIERR_REQUESTQUEUEFULL
message = message & "EQUESTQUEUEFULL."
Case TAPIERR_INVALDESTADDRESS
message = message & "Le numéro n'est pas valide."
Case Else
message = message & "Erreur inconnue."
End Select
MsgBox message
End If
End Sub

'------------------------------
Sub Test()
Call Signaler(ActiveCell.Value)
End Sub
'------------------------------



"garnote" a écrit dans le message de groupe de discussion :

Bonjour,

J'ai cette macro de Monsieur Walkenbach que je n'arrive pas
à faire fonctionner.
Que faut-il faire pour pouvoir utiliser cette macro ?

'Attribute VB_Name = "ProcPourTelephoner2"

'Transmets le contenu de la cellule active (un numéro de téléphone)
'au numéroteur de Windows puis compose le numéro.
'(Les commentaires de l'auteur détaillent les opérations)
'John Walkenbach, mpep

Sub CellToDialer()
' Transfers active cell contents to Dialer
' And then dials the phone

' Get the phone number
CellContents = ActiveCell.Value
If CellContents = "" Then
MsgBox "Select a cell that contains a phone number."
Exit Sub
End If

' Activate (or start) Dialer
Appname = "Dialer"
AppFile = "Dialer.exe"
On Error Resume Next
AppActivate (Appname)
If Err <> 0 Then
Err = 0
TaskID = Shell(AppFile, 1)
If Err <> 0 Then MsgBox "Can't start " & AppFile
End If

' Transfer cell contents to Dialer
Application.SendKeys "%n" & CellContents, True

' Click Dial button
Application.SendKeys "%d"
End Sub

Et une autre question dont la réponse est fort probablement
"IMPOSSIBLE". Mais sait-on jamais, il y a des sorciers
sur ce site de news ;-)
À partir du nom d'une personne, de son adresse et de son
code postal entrés dans des cellules, peut-on obtenir son
numéro de téléphone dans une autre cellule ?
Pour trouver un numéro de téléphone, j'utilise le site Canada 411.
Est-ce possible d'automatiser cette recherche ?

Serge
Avatar
Michel Angelosanto
Etes vous sur que le dialer est conçu pour l'adsl ?

Quand je l'utilisais, c'était avec un modem rtc et avec le téléphone
connecté dessus.
Est-ce votre config ?

"michdenis" a écrit dans le message de
news:
Pour composer un numéro de téléphone, tu peux utiliser ceci :


'Déclaration des Api dans le haut du module standard :
Option Explicit
Private Declare Function tapiRequestMakeCall& _
Lib "TAPI32.DLL" (ByVal DestAddress$, _
ByVal AppName$, ByVal CalledParty$, ByVal Comment$)
Private Const TAPIERR_NOREQUESTRECIPIENT = -2&
Private Const TAPIERR_REQUESTQUEUEFULL = -3&
Private Const TAPIERR_INVALDESTADDRESS = -4&

'--------------------------------------
Public Sub Signaler(strNumero As String)
Dim message As String
Dim nResult As Long
nResult = tapiRequestMakeCall&(Trim(strNumero), _
CStr("Auto-Dial"), "Numérotation", "Commentaire") ', "")
If nResult <> 0 Then
message = "Erreur : "
Select Case nResult
Case TAPIERR_NOREQUESTRECIPIENT
message = message & "NOREQUESTRECIPIENT."
Case TAPIERR_REQUESTQUEUEFULL
message = message & "EQUESTQUEUEFULL."
Case TAPIERR_INVALDESTADDRESS
message = message & "Le numéro n'est pas valide."
Case Else
message = message & "Erreur inconnue."
End Select
MsgBox message
End If
End Sub

'------------------------------
Sub Test()
Call Signaler(ActiveCell.Value)
End Sub
'------------------------------



"garnote" a écrit dans le message de groupe de
discussion :

Bonjour,

J'ai cette macro de Monsieur Walkenbach que je n'arrive pas
à faire fonctionner.
Que faut-il faire pour pouvoir utiliser cette macro ?

'Attribute VB_Name = "ProcPourTelephoner2"

'Transmets le contenu de la cellule active (un numéro de téléphone)
'au numéroteur de Windows puis compose le numéro.
'(Les commentaires de l'auteur détaillent les opérations)
'John Walkenbach, mpep

Sub CellToDialer()
' Transfers active cell contents to Dialer
' And then dials the phone

' Get the phone number
CellContents = ActiveCell.Value
If CellContents = "" Then
MsgBox "Select a cell that contains a phone number."
Exit Sub
End If

' Activate (or start) Dialer
Appname = "Dialer"
AppFile = "Dialer.exe"
On Error Resume Next
AppActivate (Appname)
If Err <> 0 Then
Err = 0
TaskID = Shell(AppFile, 1)
If Err <> 0 Then MsgBox "Can't start " & AppFile
End If

' Transfer cell contents to Dialer
Application.SendKeys "%n" & CellContents, True

' Click Dial button
Application.SendKeys "%d"
End Sub

Et une autre question dont la réponse est fort probablement
"IMPOSSIBLE". Mais sait-on jamais, il y a des sorciers
sur ce site de news ;-)
À partir du nom d'une personne, de son adresse et de son
code postal entrés dans des cellules, peut-on obtenir son
numéro de téléphone dans une autre cellule ?
Pour trouver un numéro de téléphone, j'utilise le site Canada 411.
Est-ce possible d'automatiser cette recherche ?

Serge








Michel Angelosanto, Bordeaux, France