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

Lien avec internet

32 réponses
Avatar
Guy85
Bonjour,
Comment ouvrir ce lien :
http://www.mediadico.com/dictionnaire/lecture.asp/definition/FANION/parle
avec un mot choisi ? comme dans l'exemple "FANION".
J'ai vus cette exemple dans un jeu de gd "Motus".

Sub Definition()
ShellExecute 0, vbNullString,
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" & [Mot0] &
"/parle", vbNullString, "C:\", 6
End Sub

Mais j'ai (ShellExecute 0) qui me pose problème.

Merci de votre aide
Cordialement
Guy

10 réponses

1 2 3 4
Avatar
michdenis
Comme ceci :

Important : Enlève le mot "Private" à la déclaration de l'API
dans un module standard.

Dans le module feuille où l'action se déroule.
la spécification de la plage "A1:A10", c'est pour limiter l'exécution
de la macro que pour cette plage. Tu peux l'adapter à volonté.

'-----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If not intersect(Range(A1:A10"),Target) is nothing then
If Target <> "" Then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& target & "/parle", vbNullString, "C:", 6
End If
End if
End Sub
'-----------------------------



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

Bonjour,
Le lien avec le bouton me convient.
Est-il possible d'avoir aussi la solution avec le démarrage du lien dès que
le mot apparaît dans la cellule ?
Guy

"michdenis" a écrit dans le message de news:

Comme ceci :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

En supposant qu'en cellule A1 de la feuil1 qu'il y a un mot dont tu
veux connaître la signification.

Pour utiliser ceci [Mot] Mot doit être un NOM donné à une cellule.
(Plage nommée). Évidemment cette cellule ne peut être vide !

'------------------------------------
Sub Definition()

Dim Mot As String

With Worksheets("Feuil1")
Mot = Range("A1")
End With
If Mot <>"" then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Mot & "/parle", vbNullString, "C:", 6
End if
End Sub
'------------------------------------




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

Oui ça fonctionne comme ça..
Mais avec ce que tu me dis pour [Mot0], je pense qu'il doit avoir une
valeur.

Car le but rechercher, c'est d'avoir un mot dans une cellule et de pouvoir
déclencher ce lien avec ce mot.
Et le site donne directement la définition du mot par voix oral.


"michdenis" a écrit dans le message de news:

Ceci fonctionne :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub Definition()
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/", _
vbNullString, "C:", 6
End Sub

Le problème est avec cette section :

& [Mot0] & "/parle",

Est-ce que [Mot0] à une valeur ?




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

Bonjour,
j'ai toujours le même problème.
Ci-joint : http://www.cijoint.fr/cjlink.php?file=cj201004/cijm19QPSY.xls


"michdenis" a écrit dans le message de news:

Bonjour,

Dans le haut du module, tu déclares l'API suivante :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Important : Il se peut que le service de messagerie fasse disparaître
les " _" (underscore) à l'extrémité de chacune des lignes. Si c'est
le cas, tu dois les ajouter manuellement.

Si tu appelles cet API d'un autre module, tu dois enlever l'expression
"Private".




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

Bonjour Modeste,
J'ai essayé dans un nouveau classeur et là, j'ai mis ça.

Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String,
ByVal nShowCmd As Long) As Long
----------------------------------------------------------------------------------------------
Sub Definition()
ShellExecute 0, vbNullString,
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" & [Mot0]
&
"/parle", vbNullString, "C:", 6
End Sub

Toute la ligne est en jaune.







Avatar
Guy85
Problème.....
Rien ne se passe.
Feuil1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
If Target <> "" Then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Target & "/parle", vbNullString, "C:", 6
End If
End If
End Sub

Module1:
Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

"michdenis" a écrit dans le message de news:

Comme ceci :

Important : Enlève le mot "Private" à la déclaration de l'API
dans un module standard.

Dans le module feuille où l'action se déroule.
la spécification de la plage "A1:A10", c'est pour limiter l'exécution
de la macro que pour cette plage. Tu peux l'adapter à volonté.

'-----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If not intersect(Range(A1:A10"),Target) is nothing then
If Target <> "" Then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& target & "/parle", vbNullString, "C:", 6
End If
End if
End Sub
'-----------------------------



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

Bonjour,
Le lien avec le bouton me convient.
Est-il possible d'avoir aussi la solution avec le démarrage du lien dès
que
le mot apparaît dans la cellule ?
Guy

"michdenis" a écrit dans le message de news:

Comme ceci :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

En supposant qu'en cellule A1 de la feuil1 qu'il y a un mot dont tu
veux connaître la signification.

Pour utiliser ceci [Mot] Mot doit être un NOM donné à une cellule.
(Plage nommée). Évidemment cette cellule ne peut être vide !

'------------------------------------
Sub Definition()

Dim Mot As String

With Worksheets("Feuil1")
Mot = Range("A1")
End With
If Mot <>"" then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Mot & "/parle", vbNullString, "C:", 6
End if
End Sub
'------------------------------------




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

Oui ça fonctionne comme ça..
Mais avec ce que tu me dis pour [Mot0], je pense qu'il doit avoir une
valeur.

Car le but rechercher, c'est d'avoir un mot dans une cellule et de
pouvoir
déclencher ce lien avec ce mot.
Et le site donne directement la définition du mot par voix oral.


"michdenis" a écrit dans le message de news:

Ceci fonctionne :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub Definition()
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/", _
vbNullString, "C:", 6
End Sub

Le problème est avec cette section :

& [Mot0] & "/parle",

Est-ce que [Mot0] à une valeur ?




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

Bonjour,
j'ai toujours le même problème.
Ci-joint : http://www.cijoint.fr/cjlink.php?file=cj201004/cijm19QPSY.xls


"michdenis" a écrit dans le message de news:

Bonjour,

Dans le haut du module, tu déclares l'API suivante :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Important : Il se peut que le service de messagerie fasse disparaître
les " _" (underscore) à l'extrémité de chacune des lignes. Si c'est
le cas, tu dois les ajouter manuellement.

Si tu appelles cet API d'un autre module, tu dois enlever l'expression
"Private".




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

Bonjour Modeste,
J'ai essayé dans un nouveau classeur et là, j'ai mis ça.

Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String,
ByVal nShowCmd As Long) As Long
----------------------------------------------------------------------------------------------
Sub Definition()
ShellExecute 0, vbNullString,
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" &
[Mot0]
&
"/parle", vbNullString, "C:", 6
End Sub

Toute la ligne est en jaune.










Avatar
Guy85
Excuse, ça fonctionne....

"Guy85" a écrit dans le message de news:

Problème.....
Rien ne se passe.
Feuil1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
If Target <> "" Then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Target & "/parle", vbNullString, "C:", 6
End If
End If
End Sub

Module1:
Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

"michdenis" a écrit dans le message de news:

Comme ceci :

Important : Enlève le mot "Private" à la déclaration de l'API
dans un module standard.

Dans le module feuille où l'action se déroule.
la spécification de la plage "A1:A10", c'est pour limiter l'exécution
de la macro que pour cette plage. Tu peux l'adapter à volonté.

'-----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If not intersect(Range(A1:A10"),Target) is nothing then
If Target <> "" Then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& target & "/parle", vbNullString, "C:", 6
End If
End if
End Sub
'-----------------------------



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

Bonjour,
Le lien avec le bouton me convient.
Est-il possible d'avoir aussi la solution avec le démarrage du lien dès
que
le mot apparaît dans la cellule ?
Guy

"michdenis" a écrit dans le message de news:

Comme ceci :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

En supposant qu'en cellule A1 de la feuil1 qu'il y a un mot dont tu
veux connaître la signification.

Pour utiliser ceci [Mot] Mot doit être un NOM donné à une cellule.
(Plage nommée). Évidemment cette cellule ne peut être vide !

'------------------------------------
Sub Definition()

Dim Mot As String

With Worksheets("Feuil1")
Mot = Range("A1")
End With
If Mot <>"" then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Mot & "/parle", vbNullString, "C:", 6
End if
End Sub
'------------------------------------




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

Oui ça fonctionne comme ça..
Mais avec ce que tu me dis pour [Mot0], je pense qu'il doit avoir une
valeur.

Car le but rechercher, c'est d'avoir un mot dans une cellule et de
pouvoir
déclencher ce lien avec ce mot.
Et le site donne directement la définition du mot par voix oral.


"michdenis" a écrit dans le message de news:

Ceci fonctionne :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub Definition()
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/", _
vbNullString, "C:", 6
End Sub

Le problème est avec cette section :

& [Mot0] & "/parle",

Est-ce que [Mot0] à une valeur ?




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

Bonjour,
j'ai toujours le même problème.
Ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijm19QPSY.xls


"michdenis" a écrit dans le message de news:

Bonjour,

Dans le haut du module, tu déclares l'API suivante :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Important : Il se peut que le service de messagerie fasse disparaître
les " _" (underscore) à l'extrémité de chacune des lignes. Si c'est
le cas, tu dois les ajouter manuellement.

Si tu appelles cet API d'un autre module, tu dois enlever l'expression
"Private".




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

Bonjour Modeste,
J'ai essayé dans un nouveau classeur et là, j'ai mis ça.

Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String,
ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String,
ByVal nShowCmd As Long) As Long
----------------------------------------------------------------------------------------------
Sub Definition()
ShellExecute 0, vbNullString,
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" &
[Mot0]
&
"/parle", vbNullString, "C:", 6
End Sub

Toute la ligne est en jaune.














Avatar
michdenis
Une grande respiration et tu relis mon message précédent.
Tout y est.
Avatar
Guy85
Ça fonctionne et ça ne fonctionne pas.
Oui, avec le mot saisie.
Non, si il y a une formule (dans A1.....il ya ñ3)

"Guy85" a écrit dans le message de news:

Problème.....
Rien ne se passe.
Feuil1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
If Target <> "" Then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Target & "/parle", vbNullString, "C:", 6
End If
End If
End Sub

Module1:
Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

"michdenis" a écrit dans le message de news:

Comme ceci :

Important : Enlève le mot "Private" à la déclaration de l'API
dans un module standard.

Dans le module feuille où l'action se déroule.
la spécification de la plage "A1:A10", c'est pour limiter l'exécution
de la macro que pour cette plage. Tu peux l'adapter à volonté.

'-----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If not intersect(Range(A1:A10"),Target) is nothing then
If Target <> "" Then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& target & "/parle", vbNullString, "C:", 6
End If
End if
End Sub
'-----------------------------



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

Bonjour,
Le lien avec le bouton me convient.
Est-il possible d'avoir aussi la solution avec le démarrage du lien dès
que
le mot apparaît dans la cellule ?
Guy

"michdenis" a écrit dans le message de news:

Comme ceci :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

En supposant qu'en cellule A1 de la feuil1 qu'il y a un mot dont tu
veux connaître la signification.

Pour utiliser ceci [Mot] Mot doit être un NOM donné à une cellule.
(Plage nommée). Évidemment cette cellule ne peut être vide !

'------------------------------------
Sub Definition()

Dim Mot As String

With Worksheets("Feuil1")
Mot = Range("A1")
End With
If Mot <>"" then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Mot & "/parle", vbNullString, "C:", 6
End if
End Sub
'------------------------------------




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

Oui ça fonctionne comme ça..
Mais avec ce que tu me dis pour [Mot0], je pense qu'il doit avoir une
valeur.

Car le but rechercher, c'est d'avoir un mot dans une cellule et de
pouvoir
déclencher ce lien avec ce mot.
Et le site donne directement la définition du mot par voix oral.


"michdenis" a écrit dans le message de news:

Ceci fonctionne :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub Definition()
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/", _
vbNullString, "C:", 6
End Sub

Le problème est avec cette section :

& [Mot0] & "/parle",

Est-ce que [Mot0] à une valeur ?




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

Bonjour,
j'ai toujours le même problème.
Ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijm19QPSY.xls


"michdenis" a écrit dans le message de news:

Bonjour,

Dans le haut du module, tu déclares l'API suivante :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Important : Il se peut que le service de messagerie fasse disparaître
les " _" (underscore) à l'extrémité de chacune des lignes. Si c'est
le cas, tu dois les ajouter manuellement.

Si tu appelles cet API d'un autre module, tu dois enlever l'expression
"Private".




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

Bonjour Modeste,
J'ai essayé dans un nouveau classeur et là, j'ai mis ça.

Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String,
ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String,
ByVal nShowCmd As Long) As Long
----------------------------------------------------------------------------------------------
Sub Definition()
ShellExecute 0, vbNullString,
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" &
[Mot0]
&
"/parle", vbNullString, "C:", 6
End Sub

Toute la ligne est en jaune.














Avatar
michdenis
Tu peux modifier la procédure comme ceci si la plage de cellules
A1:A10 contient une formule comme énoncé dans ta question
ou si tu tapes directement un mot.

Attention aux coupures de ligne du service de messagerie.
Tout ce qui suit, dans le module feuille où l'action se déroule.
'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
If Target <> "" Then
Définition Target
End If
ElseIf Not Intersect(Range(Target.DirectDependents.Address), Range("A1:A10")) Is Nothing
Then
If Target.DirectDependents.Address <> "" Then
Définition Target.DirectDependents
End If
End If
End Sub

'----------------------------------
Sub Définition(Rg As Range)
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Rg & "/parle", vbNullString, "C:", 6
End Sub
'----------------------------------



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

Ça fonctionne et ça ne fonctionne pas.
Oui, avec le mot saisie.
Non, si il y a une formule (dans A1.....il ya ñ3)

"Guy85" a écrit dans le message de news:

Problème.....
Rien ne se passe.
Feuil1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
If Target <> "" Then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Target & "/parle", vbNullString, "C:", 6
End If
End If
End Sub

Module1:
Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

"michdenis" a écrit dans le message de news:

Comme ceci :

Important : Enlève le mot "Private" à la déclaration de l'API
dans un module standard.

Dans le module feuille où l'action se déroule.
la spécification de la plage "A1:A10", c'est pour limiter l'exécution
de la macro que pour cette plage. Tu peux l'adapter à volonté.

'-----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If not intersect(Range(A1:A10"),Target) is nothing then
If Target <> "" Then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& target & "/parle", vbNullString, "C:", 6
End If
End if
End Sub
'-----------------------------



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

Bonjour,
Le lien avec le bouton me convient.
Est-il possible d'avoir aussi la solution avec le démarrage du lien dès
que
le mot apparaît dans la cellule ?
Guy

"michdenis" a écrit dans le message de news:

Comme ceci :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

En supposant qu'en cellule A1 de la feuil1 qu'il y a un mot dont tu
veux connaître la signification.

Pour utiliser ceci [Mot] Mot doit être un NOM donné à une cellule.
(Plage nommée). Évidemment cette cellule ne peut être vide !

'------------------------------------
Sub Definition()

Dim Mot As String

With Worksheets("Feuil1")
Mot = Range("A1")
End With
If Mot <>"" then
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Mot & "/parle", vbNullString, "C:", 6
End if
End Sub
'------------------------------------




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

Oui ça fonctionne comme ça..
Mais avec ce que tu me dis pour [Mot0], je pense qu'il doit avoir une
valeur.

Car le but rechercher, c'est d'avoir un mot dans une cellule et de
pouvoir
déclencher ce lien avec ce mot.
Et le site donne directement la définition du mot par voix oral.


"michdenis" a écrit dans le message de news:

Ceci fonctionne :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub Definition()
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/", _
vbNullString, "C:", 6
End Sub

Le problème est avec cette section :

& [Mot0] & "/parle",

Est-ce que [Mot0] à une valeur ?




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

Bonjour,
j'ai toujours le même problème.
Ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj201004/cijm19QPSY.xls


"michdenis" a écrit dans le message de news:

Bonjour,

Dans le haut du module, tu déclares l'API suivante :

Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Important : Il se peut que le service de messagerie fasse disparaître
les " _" (underscore) à l'extrémité de chacune des lignes. Si c'est
le cas, tu dois les ajouter manuellement.

Si tu appelles cet API d'un autre module, tu dois enlever l'expression
"Private".




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

Bonjour Modeste,
J'ai essayé dans un nouveau classeur et là, j'ai mis ça.

Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String,
ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String,
ByVal nShowCmd As Long) As Long
----------------------------------------------------------------------------------------------
Sub Definition()
ShellExecute 0, vbNullString,
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" &
[Mot0]
&
"/parle", vbNullString, "C:", 6
End Sub

Toute la ligne est en jaune.














Avatar
michdenis
J'ai oublié d'inclure la gestion d'erreur :
'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
If Target <> "" Then
Définition Target
End If
ElseIf Not Intersect(Range(Target.DirectDependents.Address), Range("A1:A10")) Is Nothing
Then
If Err <> 0 Then Err = 0: Exit Sub
If Target.DirectDependents.Address <> "" Then
Définition Target.DirectDependents
End If
End If
End Sub
'----------------------------------
Sub Définition(Rg As Range)
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Rg & "/parle", vbNullString, "C:", 6
End Sub
'----------------------------------
Avatar
Guy85
Problème......
J'ai "Rg" qui pose problème dans : & Rg &

"michdenis" a écrit dans le message de news:

J'ai oublié d'inclure la gestion d'erreur :
'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
If Target <> "" Then
Définition Target
End If
ElseIf Not Intersect(Range(Target.DirectDependents.Address),
Range("A1:A10")) Is Nothing
Then
If Err <> 0 Then Err = 0: Exit Sub
If Target.DirectDependents.Address <> "" Then
Définition Target.DirectDependents
End If
End If
End Sub
'----------------------------------
Sub Définition(Rg As Range)
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Rg & "/parle", vbNullString, "C:", 6
End Sub
'----------------------------------





Avatar
Guy85
Ci-joint : http://www.cijoint.fr/cjlink.php?file=cj201004/cijS6RW13n.xls


"michdenis" a écrit dans le message de news:

J'ai oublié d'inclure la gestion d'erreur :
'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
If Target <> "" Then
Définition Target
End If
ElseIf Not Intersect(Range(Target.DirectDependents.Address),
Range("A1:A10")) Is Nothing
Then
If Err <> 0 Then Err = 0: Exit Sub
If Target.DirectDependents.Address <> "" Then
Définition Target.DirectDependents
End If
End If
End Sub
'----------------------------------
Sub Définition(Rg As Range)
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Rg & "/parle", vbNullString, "C:", 6
End Sub
'----------------------------------





Avatar
michdenis
Un petit effort quand même pour recopier l'info. que je t'ai donnée.

Dans le classeur que tu as publié, tu n'as pas insérer l'API.




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

Ci-joint : http://www.cijoint.fr/cjlink.php?file=cj201004/cijS6RW13n.xls


"michdenis" a écrit dans le message de news:

J'ai oublié d'inclure la gestion d'erreur :
'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
If Target <> "" Then
Définition Target
End If
ElseIf Not Intersect(Range(Target.DirectDependents.Address),
Range("A1:A10")) Is Nothing
Then
If Err <> 0 Then Err = 0: Exit Sub
If Target.DirectDependents.Address <> "" Then
Définition Target.DirectDependents
End If
End If
End Sub
'----------------------------------
Sub Définition(Rg As Range)
ShellExecute 0, vbNullString, _
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" _
& Rg & "/parle", vbNullString, "C:", 6
End Sub
'----------------------------------





1 2 3 4