Bonjour, je me présente david, ingénieur r&d. J'ai des notions en développement c et labview, et je suis malheureusement novice en VBA.

Je vous explique mon problème
Je développe une petite application via Excel.

Cette application doit commencer par établir un lien entre VBA(enfin donc Excel) et un logiciel tiers qui s'appelle Optima. Ce dernier est un logiciel d'acquisition pour un fluorimètre (mais bon ca à la limite on s'en fiche).

Ce logiciel est compatible dde et le fournisseur donne même un semblant de programme pour exemple que voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Command1_Click()
Dim Cmd, Separator
' open DDE connection:
If Text1.LinkMode = vbLinkNone Then
Z = Shell("D:\Programme\BMG\OPTIMA\ExeDLL\FLUOstar", 4)
' start DDE Server
Text1.LinkTopic = "FLUOstar|DDEServerConv1" ' set DDE topic
Text1.LinkItem = "DdeServerStatus" ' set DDE item
Text1.LinkMode = vbLinkManual ' choose link mode
End If
' send a DDE command:
Separator = Chr(13) & Chr(10)
Cmd = "PlateOut" ' Create command string
Cmd = Cmd & Separator & "User" ' Add parameters
Cmd = Cmd & Separator & "0"
Cmd = Cmd & Separator & "5000"
Text1.LinkExecute Cmd ' send DDE macro command
MsgBox "DDE command to OPTIMA sent.", 64
End Sub
la partie send a command est plutot clair pour moi
Suite à des recherches sur internet j'ai compris à quoi servaient les linktopic linkitem et linkmode. Là encore rien de bien compliquer.

Bien sur l'adresse dans l'exemple n'est pas la bonne, là encore ce n'est pas la difficulté réelle (quoi que dans la véritable adresse qui se situe dans program files, il y a un espace, est-ce un problème pour VBA faut il mettre l'espace sous forme de code ?)

Non mon problème se situe au niveau de la variable text1 (déjà est ce une variable ?) dois je la définir comme étant un objet (comme une textbox ?) ou comme une variable string ?

le compilateur bloque donc sur la première ligne ou apparait text1.linkmode

idem dois-je déclarer Z

Bref cette étape est vraiment ce qui me bloque, en effet après ce n'est qu'une succession d'envoi de commande et d'apparitions de fenetre pour l'utilisateur ce qui est relativement simple à faire compte tenu de mes petites connaissances et des tutoriaux présents un peu partout notamment sur ce site bien riche en informations.

Merci d'avance de votre aide et de vos réponses

edit : au passage je sais que la connexion fonctionne l'éditeur du logiciel fournissant un espèce de mini programme basé sur le protocole dde qui permet de communiquer de manière simplifier avec le logiciel d'acquisition.