Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code proposé,
sans vraiment de succès, mes connaissances sont trop limitées pour en
voir la fin.
Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code proposé,
sans vraiment de succès, mes connaissances sont trop limitées pour en
voir la fin.
Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code proposé,
sans vraiment de succès, mes connaissances sont trop limitées pour en
voir la fin.
maumo wrote:Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la
conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code
proposé,
sans vraiment de succès, mes connaissances sont trop limitées
pour en
voir la fin.
Hello,
le code proposé est du VB3, ca remone aux années 90...
J'ai réécrit le code pour VB6. Ca compile et démarre sans
erreur, mais je ne
parviens pas à le faire fonctionner (je pense que Excel 2010 n'aime pas
trop
les liaisons DDE, en tout cas pas comme ça;).
bref, peut etre cela marchera t-il avec toi, qui sait ?
En tout cas, le code est correct maintenant, en tout caas d'un point de vue
syntaxique:
Tu peux faire un copy/paste de ce qui suit dans une feuille vierge:
(note: il faut créer les controles comme indiqué au point 2.2 (un
textbox, 2
option buttons et 2 command buttons, mettre les bons noms etc.)
' --------------------------------> DEBUT
Option Explicit
Private Const SW_SHOWNORMAL = 1
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
Const AUTOMATIC = 1
Const MANUAL = 2
Const NONE = 0
Sub Form_Load()
Dim ErrorTries As Integer
On Error GoTo errorhandler
ShellExecute Me.hwnd, "open", "C:test.xls", vbNullString,
"C:Windows", SW_SHOWNORMAL
DoEvents 'Process Windows events to ensure that
'Excel executes before making any attempt
'to perform DDE.
Text1.LinkMode = NONE 'Clear DDE link if it already exists.
'Set up link with Excel:
'Unremark the next line for use with Excel 4.
'Text1.LinkTopic = "Excel|source.xls"
'Remark out the next line when using Excel 4
'Text1.LinkTopic = "Excel|C:VB3[SOURCE.XLS]Sheet1"
Text1.LinkItem = "R1C1" 'Set link to first cell on spreadsheet.
Text1.LinkTopic = "Excel|Feuil1"
Text1.LinkMode = MANUAL 'Establish a manual DDE link.
ManualLink.Value = True
Exit Sub
errorhandler:
If (Err.Number = 282) And (ErrorTries < 15) Then
ErrorTries = ErrorTries + 1
DoEvents
Resume
Else
Error Err.Number
End If
End Sub
Private Sub ManualLink_Click()
Request.Visible = True 'Make request button valid.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = MANUAL 'Reestablish new LinkMode.
End Sub
Private Sub AutomaticLink_Click()
Request.Visible = False 'No need for button with automatic link.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = AUTOMATIC 'Reestablish new LinkMode.
End Sub
Private Sub Poke_Click()
'With any DDE link this button will be visible and when selected
'it will poke information from the destination application to the
'source application.
Text1.LinkPoke
End Sub
Private Sub Request_Click()
'With a manual DDE link this button will be visible and when
'selected it will request an update of information from the source
'application to the destination application.
Text1.LinkRequest
End Sub
' --------------------------------> FIN
Bon amusement;
--
Jean-marc
maumo wrote:
Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la
conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code
proposé,
sans vraiment de succès, mes connaissances sont trop limitées
pour en
voir la fin.
Hello,
le code proposé est du VB3, ca remone aux années 90...
J'ai réécrit le code pour VB6. Ca compile et démarre sans
erreur, mais je ne
parviens pas à le faire fonctionner (je pense que Excel 2010 n'aime pas
trop
les liaisons DDE, en tout cas pas comme ça;).
bref, peut etre cela marchera t-il avec toi, qui sait ?
En tout cas, le code est correct maintenant, en tout caas d'un point de vue
syntaxique:
Tu peux faire un copy/paste de ce qui suit dans une feuille vierge:
(note: il faut créer les controles comme indiqué au point 2.2 (un
textbox, 2
option buttons et 2 command buttons, mettre les bons noms etc.)
' --------------------------------> DEBUT
Option Explicit
Private Const SW_SHOWNORMAL = 1
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
Const AUTOMATIC = 1
Const MANUAL = 2
Const NONE = 0
Sub Form_Load()
Dim ErrorTries As Integer
On Error GoTo errorhandler
ShellExecute Me.hwnd, "open", "C:test.xls", vbNullString,
"C:Windows", SW_SHOWNORMAL
DoEvents 'Process Windows events to ensure that
'Excel executes before making any attempt
'to perform DDE.
Text1.LinkMode = NONE 'Clear DDE link if it already exists.
'Set up link with Excel:
'Unremark the next line for use with Excel 4.
'Text1.LinkTopic = "Excel|source.xls"
'Remark out the next line when using Excel 4
'Text1.LinkTopic = "Excel|C:VB3[SOURCE.XLS]Sheet1"
Text1.LinkItem = "R1C1" 'Set link to first cell on spreadsheet.
Text1.LinkTopic = "Excel|Feuil1"
Text1.LinkMode = MANUAL 'Establish a manual DDE link.
ManualLink.Value = True
Exit Sub
errorhandler:
If (Err.Number = 282) And (ErrorTries < 15) Then
ErrorTries = ErrorTries + 1
DoEvents
Resume
Else
Error Err.Number
End If
End Sub
Private Sub ManualLink_Click()
Request.Visible = True 'Make request button valid.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = MANUAL 'Reestablish new LinkMode.
End Sub
Private Sub AutomaticLink_Click()
Request.Visible = False 'No need for button with automatic link.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = AUTOMATIC 'Reestablish new LinkMode.
End Sub
Private Sub Poke_Click()
'With any DDE link this button will be visible and when selected
'it will poke information from the destination application to the
'source application.
Text1.LinkPoke
End Sub
Private Sub Request_Click()
'With a manual DDE link this button will be visible and when
'selected it will request an update of information from the source
'application to the destination application.
Text1.LinkRequest
End Sub
' --------------------------------> FIN
Bon amusement;
--
Jean-marc
maumo wrote:Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la
conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code
proposé,
sans vraiment de succès, mes connaissances sont trop limitées
pour en
voir la fin.
Hello,
le code proposé est du VB3, ca remone aux années 90...
J'ai réécrit le code pour VB6. Ca compile et démarre sans
erreur, mais je ne
parviens pas à le faire fonctionner (je pense que Excel 2010 n'aime pas
trop
les liaisons DDE, en tout cas pas comme ça;).
bref, peut etre cela marchera t-il avec toi, qui sait ?
En tout cas, le code est correct maintenant, en tout caas d'un point de vue
syntaxique:
Tu peux faire un copy/paste de ce qui suit dans une feuille vierge:
(note: il faut créer les controles comme indiqué au point 2.2 (un
textbox, 2
option buttons et 2 command buttons, mettre les bons noms etc.)
' --------------------------------> DEBUT
Option Explicit
Private Const SW_SHOWNORMAL = 1
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
Const AUTOMATIC = 1
Const MANUAL = 2
Const NONE = 0
Sub Form_Load()
Dim ErrorTries As Integer
On Error GoTo errorhandler
ShellExecute Me.hwnd, "open", "C:test.xls", vbNullString,
"C:Windows", SW_SHOWNORMAL
DoEvents 'Process Windows events to ensure that
'Excel executes before making any attempt
'to perform DDE.
Text1.LinkMode = NONE 'Clear DDE link if it already exists.
'Set up link with Excel:
'Unremark the next line for use with Excel 4.
'Text1.LinkTopic = "Excel|source.xls"
'Remark out the next line when using Excel 4
'Text1.LinkTopic = "Excel|C:VB3[SOURCE.XLS]Sheet1"
Text1.LinkItem = "R1C1" 'Set link to first cell on spreadsheet.
Text1.LinkTopic = "Excel|Feuil1"
Text1.LinkMode = MANUAL 'Establish a manual DDE link.
ManualLink.Value = True
Exit Sub
errorhandler:
If (Err.Number = 282) And (ErrorTries < 15) Then
ErrorTries = ErrorTries + 1
DoEvents
Resume
Else
Error Err.Number
End If
End Sub
Private Sub ManualLink_Click()
Request.Visible = True 'Make request button valid.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = MANUAL 'Reestablish new LinkMode.
End Sub
Private Sub AutomaticLink_Click()
Request.Visible = False 'No need for button with automatic link.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = AUTOMATIC 'Reestablish new LinkMode.
End Sub
Private Sub Poke_Click()
'With any DDE link this button will be visible and when selected
'it will poke information from the destination application to the
'source application.
Text1.LinkPoke
End Sub
Private Sub Request_Click()
'With a manual DDE link this button will be visible and when
'selected it will request an update of information from the source
'application to the destination application.
Text1.LinkRequest
End Sub
' --------------------------------> FIN
Bon amusement;
--
Jean-marc
Jean-marc a écrit le 07/08/2011 à 15h46 :maumo wrote:Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la
conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code
proposé,
sans vraiment de succès, mes connaissances sont trop limitées
pour en
voir la fin.
Hello,
le code proposé est du VB3, ca remone aux années 90...
J'ai réécrit le code pour VB6. Ca compile et démarre sans
erreur, mais je ne
parviens pas à le faire fonctionner (je pense que Excel 2010 n'aime pas
trop
les liaisons DDE, en tout cas pas comme ça;).
bref, peut etre cela marchera t-il avec toi, qui sait ?
En tout cas, le code est correct maintenant, en tout caas d'un point de vue
syntaxique:
Tu peux faire un copy/paste de ce qui suit dans une feuille vierge:
(note: il faut créer les controles comme indiqué au point 2.2
(un
textbox, 2
option buttons et 2 command buttons, mettre les bons noms etc.)
' --------------------------------> DEBUT
Option Explicit
Private Const SW_SHOWNORMAL = 1
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
Const AUTOMATIC = 1
Const MANUAL = 2
Const NONE = 0
Sub Form_Load()
Dim ErrorTries As Integer
On Error GoTo errorhandler
ShellExecute Me.hwnd, "open", "C:test.xls", vbNullString,
"C:Windows", SW_SHOWNORMAL
DoEvents 'Process Windows events to ensure that
'Excel executes before making any attempt
'to perform DDE.
Text1.LinkMode = NONE 'Clear DDE link if it already exists.
'Set up link with Excel:
'Unremark the next line for use with Excel 4.
'Text1.LinkTopic = "Excel|source.xls"
'Remark out the next line when using Excel 4
'Text1.LinkTopic = "Excel|C:VB3[SOURCE.XLS]Sheet1"
Text1.LinkItem = "R1C1" 'Set link to first cell on spreadsheet.
Text1.LinkTopic = "Excel|Feuil1"
Text1.LinkMode = MANUAL 'Establish a manual DDE link.
ManualLink.Value = True
Exit Sub
errorhandler:
If (Err.Number = 282) And (ErrorTries < 15) Then
ErrorTries = ErrorTries + 1
DoEvents
Resume
Else
Error Err.Number
End If
End Sub
Private Sub ManualLink_Click()
Request.Visible = True 'Make request button valid.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = MANUAL 'Reestablish new LinkMode.
End Sub
Private Sub AutomaticLink_Click()
Request.Visible = False 'No need for button with automatic link.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = AUTOMATIC 'Reestablish new LinkMode.
End Sub
Private Sub Poke_Click()
'With any DDE link this button will be visible and when selected
'it will poke information from the destination application to the
'source application.
Text1.LinkPoke
End Sub
Private Sub Request_Click()
'With a manual DDE link this button will be visible and when
'selected it will request an update of information from the source
'application to the destination application.
Text1.LinkRequest
End Sub
' --------------------------------> FIN
Bon amusement;
--
Jean-marc
Bon matin Jean Marc,
Un gros merci pour ton aide c'est la première fois que je fais appel
à la collaboration sur ce site je suis agréablement surpris du
résultats. Un retour aussi rapide de ta part ça m'enchante et me
donne du courage pour poursuivre. Je ne veux pas te décevoir, je me met
à l'oeuvre tout de suite.
@ + Maurice
Jean-marc a écrit le 07/08/2011 à 15h46 :
maumo wrote:
Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la
conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code
proposé,
sans vraiment de succès, mes connaissances sont trop limitées
pour en
voir la fin.
Hello,
le code proposé est du VB3, ca remone aux années 90...
J'ai réécrit le code pour VB6. Ca compile et démarre sans
erreur, mais je ne
parviens pas à le faire fonctionner (je pense que Excel 2010 n'aime pas
trop
les liaisons DDE, en tout cas pas comme ça;).
bref, peut etre cela marchera t-il avec toi, qui sait ?
En tout cas, le code est correct maintenant, en tout caas d'un point de vue
syntaxique:
Tu peux faire un copy/paste de ce qui suit dans une feuille vierge:
(note: il faut créer les controles comme indiqué au point 2.2
(un
textbox, 2
option buttons et 2 command buttons, mettre les bons noms etc.)
' --------------------------------> DEBUT
Option Explicit
Private Const SW_SHOWNORMAL = 1
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
Const AUTOMATIC = 1
Const MANUAL = 2
Const NONE = 0
Sub Form_Load()
Dim ErrorTries As Integer
On Error GoTo errorhandler
ShellExecute Me.hwnd, "open", "C:test.xls", vbNullString,
"C:Windows", SW_SHOWNORMAL
DoEvents 'Process Windows events to ensure that
'Excel executes before making any attempt
'to perform DDE.
Text1.LinkMode = NONE 'Clear DDE link if it already exists.
'Set up link with Excel:
'Unremark the next line for use with Excel 4.
'Text1.LinkTopic = "Excel|source.xls"
'Remark out the next line when using Excel 4
'Text1.LinkTopic = "Excel|C:VB3[SOURCE.XLS]Sheet1"
Text1.LinkItem = "R1C1" 'Set link to first cell on spreadsheet.
Text1.LinkTopic = "Excel|Feuil1"
Text1.LinkMode = MANUAL 'Establish a manual DDE link.
ManualLink.Value = True
Exit Sub
errorhandler:
If (Err.Number = 282) And (ErrorTries < 15) Then
ErrorTries = ErrorTries + 1
DoEvents
Resume
Else
Error Err.Number
End If
End Sub
Private Sub ManualLink_Click()
Request.Visible = True 'Make request button valid.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = MANUAL 'Reestablish new LinkMode.
End Sub
Private Sub AutomaticLink_Click()
Request.Visible = False 'No need for button with automatic link.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = AUTOMATIC 'Reestablish new LinkMode.
End Sub
Private Sub Poke_Click()
'With any DDE link this button will be visible and when selected
'it will poke information from the destination application to the
'source application.
Text1.LinkPoke
End Sub
Private Sub Request_Click()
'With a manual DDE link this button will be visible and when
'selected it will request an update of information from the source
'application to the destination application.
Text1.LinkRequest
End Sub
' --------------------------------> FIN
Bon amusement;
--
Jean-marc
Bon matin Jean Marc,
Un gros merci pour ton aide c'est la première fois que je fais appel
à la collaboration sur ce site je suis agréablement surpris du
résultats. Un retour aussi rapide de ta part ça m'enchante et me
donne du courage pour poursuivre. Je ne veux pas te décevoir, je me met
à l'oeuvre tout de suite.
@ + Maurice
Jean-marc a écrit le 07/08/2011 à 15h46 :maumo wrote:Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la
conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code
proposé,
sans vraiment de succès, mes connaissances sont trop limitées
pour en
voir la fin.
Hello,
le code proposé est du VB3, ca remone aux années 90...
J'ai réécrit le code pour VB6. Ca compile et démarre sans
erreur, mais je ne
parviens pas à le faire fonctionner (je pense que Excel 2010 n'aime pas
trop
les liaisons DDE, en tout cas pas comme ça;).
bref, peut etre cela marchera t-il avec toi, qui sait ?
En tout cas, le code est correct maintenant, en tout caas d'un point de vue
syntaxique:
Tu peux faire un copy/paste de ce qui suit dans une feuille vierge:
(note: il faut créer les controles comme indiqué au point 2.2
(un
textbox, 2
option buttons et 2 command buttons, mettre les bons noms etc.)
' --------------------------------> DEBUT
Option Explicit
Private Const SW_SHOWNORMAL = 1
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
Const AUTOMATIC = 1
Const MANUAL = 2
Const NONE = 0
Sub Form_Load()
Dim ErrorTries As Integer
On Error GoTo errorhandler
ShellExecute Me.hwnd, "open", "C:test.xls", vbNullString,
"C:Windows", SW_SHOWNORMAL
DoEvents 'Process Windows events to ensure that
'Excel executes before making any attempt
'to perform DDE.
Text1.LinkMode = NONE 'Clear DDE link if it already exists.
'Set up link with Excel:
'Unremark the next line for use with Excel 4.
'Text1.LinkTopic = "Excel|source.xls"
'Remark out the next line when using Excel 4
'Text1.LinkTopic = "Excel|C:VB3[SOURCE.XLS]Sheet1"
Text1.LinkItem = "R1C1" 'Set link to first cell on spreadsheet.
Text1.LinkTopic = "Excel|Feuil1"
Text1.LinkMode = MANUAL 'Establish a manual DDE link.
ManualLink.Value = True
Exit Sub
errorhandler:
If (Err.Number = 282) And (ErrorTries < 15) Then
ErrorTries = ErrorTries + 1
DoEvents
Resume
Else
Error Err.Number
End If
End Sub
Private Sub ManualLink_Click()
Request.Visible = True 'Make request button valid.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = MANUAL 'Reestablish new LinkMode.
End Sub
Private Sub AutomaticLink_Click()
Request.Visible = False 'No need for button with automatic link.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = AUTOMATIC 'Reestablish new LinkMode.
End Sub
Private Sub Poke_Click()
'With any DDE link this button will be visible and when selected
'it will poke information from the destination application to the
'source application.
Text1.LinkPoke
End Sub
Private Sub Request_Click()
'With a manual DDE link this button will be visible and when
'selected it will request an update of information from the source
'application to the destination application.
Text1.LinkRequest
End Sub
' --------------------------------> FIN
Bon amusement;
--
Jean-marc
Bon matin Jean Marc,
Un gros merci pour ton aide c'est la première fois que je fais appel
à la collaboration sur ce site je suis agréablement surpris du
résultats. Un retour aussi rapide de ta part ça m'enchante et me
donne du courage pour poursuivre. Je ne veux pas te décevoir, je me met
à l'oeuvre tout de suite.
@ + Maurice
Jean-marc a écrit le 07/08/2011 à 15h46 :maumo wrote:Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la
conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code
proposé,
sans vraiment de succès, mes connaissances sont trop limitées
pour en
voir la fin.
Hello,
le code proposé est du VB3, ca remone aux années 90...
J'ai réécrit le code pour VB6. Ca compile et démarre sans
erreur, mais je ne
parviens pas à le faire fonctionner (je pense que Excel 2010 n'aime pas
trop
les liaisons DDE, en tout cas pas comme ça;).
bref, peut etre cela marchera t-il avec toi, qui sait ?
En tout cas, le code est correct maintenant, en tout caas d'un point de vue
syntaxique:
Tu peux faire un copy/paste de ce qui suit dans une feuille vierge:
(note: il faut créer les controles comme indiqué au point 2.2
(un
textbox, 2
option buttons et 2 command buttons, mettre les bons noms etc.)
' --------------------------------> DEBUT
Option Explicit
Private Const SW_SHOWNORMAL = 1
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
Const AUTOMATIC = 1
Const MANUAL = 2
Const NONE = 0
Sub Form_Load()
Dim ErrorTries As Integer
On Error GoTo errorhandler
ShellExecute Me.hwnd, "open", "C:test.xls", vbNullString,
"C:Windows", SW_SHOWNORMAL
DoEvents 'Process Windows events to ensure that
'Excel executes before making any attempt
'to perform DDE.
Text1.LinkMode = NONE 'Clear DDE link if it already exists.
'Set up link with Excel:
'Unremark the next line for use with Excel 4.
'Text1.LinkTopic = "Excel|source.xls"
'Remark out the next line when using Excel 4
'Text1.LinkTopic = "Excel|C:VB3[SOURCE.XLS]Sheet1"
Text1.LinkItem = "R1C1" 'Set link to first cell on spreadsheet.
Text1.LinkTopic = "Excel|Feuil1"
Text1.LinkMode = MANUAL 'Establish a manual DDE link.
ManualLink.Value = True
Exit Sub
errorhandler:
If (Err.Number = 282) And (ErrorTries < 15) Then
ErrorTries = ErrorTries + 1
DoEvents
Resume
Else
Error Err.Number
End If
End Sub
Private Sub ManualLink_Click()
Request.Visible = True 'Make request button valid.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = MANUAL 'Reestablish new LinkMode.
End Sub
Private Sub AutomaticLink_Click()
Request.Visible = False 'No need for button with automatic link.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = AUTOMATIC 'Reestablish new LinkMode.
End Sub
Private Sub Poke_Click()
'With any DDE link this button will be visible and when selected
'it will poke information from the destination application to the
'source application.
Text1.LinkPoke
End Sub
Private Sub Request_Click()
'With a manual DDE link this button will be visible and when
'selected it will request an update of information from the source
'application to the destination application.
Text1.LinkRequest
End Sub
' --------------------------------> FIN
Bon amusement;
--
Jean-marc
Bon matin Jean Marc,
Un gros merci pour ton aide c'est la première fois que je fais appel
à la collaboration sur ce site je suis agréablement surpris du
résultats. Un retour aussi rapide de ta part ça m'enchante et me
donne du courage pour poursuivre. Je ne veux pas te décevoir, je me met
à l'oeuvre tout de suite.
@ + Maurice
Jean-marc a écrit le 07/08/2011 à 15h46 :
maumo wrote:
Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la
conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code
proposé,
sans vraiment de succès, mes connaissances sont trop limitées
pour en
voir la fin.
Hello,
le code proposé est du VB3, ca remone aux années 90...
J'ai réécrit le code pour VB6. Ca compile et démarre sans
erreur, mais je ne
parviens pas à le faire fonctionner (je pense que Excel 2010 n'aime pas
trop
les liaisons DDE, en tout cas pas comme ça;).
bref, peut etre cela marchera t-il avec toi, qui sait ?
En tout cas, le code est correct maintenant, en tout caas d'un point de vue
syntaxique:
Tu peux faire un copy/paste de ce qui suit dans une feuille vierge:
(note: il faut créer les controles comme indiqué au point 2.2
(un
textbox, 2
option buttons et 2 command buttons, mettre les bons noms etc.)
' --------------------------------> DEBUT
Option Explicit
Private Const SW_SHOWNORMAL = 1
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
Const AUTOMATIC = 1
Const MANUAL = 2
Const NONE = 0
Sub Form_Load()
Dim ErrorTries As Integer
On Error GoTo errorhandler
ShellExecute Me.hwnd, "open", "C:test.xls", vbNullString,
"C:Windows", SW_SHOWNORMAL
DoEvents 'Process Windows events to ensure that
'Excel executes before making any attempt
'to perform DDE.
Text1.LinkMode = NONE 'Clear DDE link if it already exists.
'Set up link with Excel:
'Unremark the next line for use with Excel 4.
'Text1.LinkTopic = "Excel|source.xls"
'Remark out the next line when using Excel 4
'Text1.LinkTopic = "Excel|C:VB3[SOURCE.XLS]Sheet1"
Text1.LinkItem = "R1C1" 'Set link to first cell on spreadsheet.
Text1.LinkTopic = "Excel|Feuil1"
Text1.LinkMode = MANUAL 'Establish a manual DDE link.
ManualLink.Value = True
Exit Sub
errorhandler:
If (Err.Number = 282) And (ErrorTries < 15) Then
ErrorTries = ErrorTries + 1
DoEvents
Resume
Else
Error Err.Number
End If
End Sub
Private Sub ManualLink_Click()
Request.Visible = True 'Make request button valid.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = MANUAL 'Reestablish new LinkMode.
End Sub
Private Sub AutomaticLink_Click()
Request.Visible = False 'No need for button with automatic link.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = AUTOMATIC 'Reestablish new LinkMode.
End Sub
Private Sub Poke_Click()
'With any DDE link this button will be visible and when selected
'it will poke information from the destination application to the
'source application.
Text1.LinkPoke
End Sub
Private Sub Request_Click()
'With a manual DDE link this button will be visible and when
'selected it will request an update of information from the source
'application to the destination application.
Text1.LinkRequest
End Sub
' --------------------------------> FIN
Bon amusement;
--
Jean-marc
Bon matin Jean Marc,
Un gros merci pour ton aide c'est la première fois que je fais appel
à la collaboration sur ce site je suis agréablement surpris du
résultats. Un retour aussi rapide de ta part ça m'enchante et me
donne du courage pour poursuivre. Je ne veux pas te décevoir, je me met
à l'oeuvre tout de suite.
@ + Maurice
Jean-marc a écrit le 07/08/2011 à 15h46 :maumo wrote:Bonjour,
Voici un lien:
http://support.microsoft.com/kb/75089/en-us/
sur lequel vous trouverez une procédure pour établir la
conversation
DDE entre VB et EXCEL. et le code source VB.
J'en suis au cours 101 (début) avec VB, j'ai écrit le code
proposé,
sans vraiment de succès, mes connaissances sont trop limitées
pour en
voir la fin.
Hello,
le code proposé est du VB3, ca remone aux années 90...
J'ai réécrit le code pour VB6. Ca compile et démarre sans
erreur, mais je ne
parviens pas à le faire fonctionner (je pense que Excel 2010 n'aime pas
trop
les liaisons DDE, en tout cas pas comme ça;).
bref, peut etre cela marchera t-il avec toi, qui sait ?
En tout cas, le code est correct maintenant, en tout caas d'un point de vue
syntaxique:
Tu peux faire un copy/paste de ce qui suit dans une feuille vierge:
(note: il faut créer les controles comme indiqué au point 2.2
(un
textbox, 2
option buttons et 2 command buttons, mettre les bons noms etc.)
' --------------------------------> DEBUT
Option Explicit
Private Const SW_SHOWNORMAL = 1
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
Const AUTOMATIC = 1
Const MANUAL = 2
Const NONE = 0
Sub Form_Load()
Dim ErrorTries As Integer
On Error GoTo errorhandler
ShellExecute Me.hwnd, "open", "C:test.xls", vbNullString,
"C:Windows", SW_SHOWNORMAL
DoEvents 'Process Windows events to ensure that
'Excel executes before making any attempt
'to perform DDE.
Text1.LinkMode = NONE 'Clear DDE link if it already exists.
'Set up link with Excel:
'Unremark the next line for use with Excel 4.
'Text1.LinkTopic = "Excel|source.xls"
'Remark out the next line when using Excel 4
'Text1.LinkTopic = "Excel|C:VB3[SOURCE.XLS]Sheet1"
Text1.LinkItem = "R1C1" 'Set link to first cell on spreadsheet.
Text1.LinkTopic = "Excel|Feuil1"
Text1.LinkMode = MANUAL 'Establish a manual DDE link.
ManualLink.Value = True
Exit Sub
errorhandler:
If (Err.Number = 282) And (ErrorTries < 15) Then
ErrorTries = ErrorTries + 1
DoEvents
Resume
Else
Error Err.Number
End If
End Sub
Private Sub ManualLink_Click()
Request.Visible = True 'Make request button valid.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = MANUAL 'Reestablish new LinkMode.
End Sub
Private Sub AutomaticLink_Click()
Request.Visible = False 'No need for button with automatic link.
Text1.LinkMode = NONE 'Clear DDE Link.
Text1.LinkMode = AUTOMATIC 'Reestablish new LinkMode.
End Sub
Private Sub Poke_Click()
'With any DDE link this button will be visible and when selected
'it will poke information from the destination application to the
'source application.
Text1.LinkPoke
End Sub
Private Sub Request_Click()
'With a manual DDE link this button will be visible and when
'selected it will request an update of information from the source
'application to the destination application.
Text1.LinkRequest
End Sub
' --------------------------------> FIN
Bon amusement;
--
Jean-marc
Bon matin Jean Marc,
Un gros merci pour ton aide c'est la première fois que je fais appel
à la collaboration sur ce site je suis agréablement surpris du
résultats. Un retour aussi rapide de ta part ça m'enchante et me
donne du courage pour poursuivre. Je ne veux pas te décevoir, je me met
à l'oeuvre tout de suite.
@ + Maurice