Problème DDE Excel [Résolu]

Signaler
Messages postés
11
Date d'inscription
mercredi 28 février 2007
Statut
Membre
Dernière intervention
6 avril 2007
-
Polack77
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
Lut all

Voila je cherche a prendre des valeurs qui se trouvent dans Excel par DDE et le problème est le suivant, lorsque je veux mettre LinkMode de ma Text box par exemple a Automatic il me jette : No foreign application responded to a DDE initiate.

Pourtant j'ai bien rempli LinkTopic:"Excel|Sheet2" et LinkItem:L2C2.

Donc je vois pas d'où ça vient

Merci d'avance

10 réponses

Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Bonjour, étant étoné de ne pas avoir de réponce à mon poste précédant j'ai fais des testes (j'ai hue acces à un poste avec Ms office et VB6). Donc finalement il faut faire ça (chez moi ça marche).

-> Aucune référance en plus n'est obligatoire.

Code qui marche :
-----------------
dim MyXl as object
set MyXl = getobject(,"Excel.Application")
MyXl.Workbooks('A').Worksheets('B').Cells('C','D').Value = "Teste"
-----------------

Avec :
    A -> Numéro d'index ou nom du fichier (l'index 1 est le denier doc ouvert)
    B -> Numéro d'index de la feille ou nom de la feuille
    C -> Numéro de la ligne (commance à 1 et non à 0)
    D -> Numéro de la collone (Attention en chiffre et non en lettre)

Par exemple :
MyXl.Workbooks(1).Worksheets(1).Cells(1,1).Value = "Teste" 'Cette ligne écrirat "Teste" dans la cellule A1 de la 1ér feuille du dernier doc Excel ouvert
msgbox MyXl.Workbooks("Toto.xls").Worksheets("Feuil1").Cells(1,5).Value 'Cette ligne écrira dans un message box la valeur de la cellule "E1" de la feuille nomé "Feuil1" dans la fichier "Toto.xls" (Attention il faut que ce fichier soit ouvert)
MyXl.Workbooks.Open("C:\Toto.xls") 'Ouvre le fichier "C:\Toto.xls"

Un petit truc :
Construit tes macro dans excel et copie les simplement apprés "MyXl." comme ça tu évite les erreur de syntaxe.

Comme ça tu ne dois plus avoir de problème

Amicalement
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Salut,
Alors déjà en quel version de VB est tu???
En VBA Word j'ai fais un 'truc' qui resemble un peut à une DDE mais qui n'en est pas vraiment une (tout du moin ca ne resemble pas du tout au DDE que je crée en ce momant). Ce que j'ai fais :

 Dim MyXl As Object
 Set MyXl = GetObject(, "Excel.Application") 'Attention cette ligne est en erreur si excel n'est pas executé donc prévoir de la gestion d'erreur (type "on error goto machin")

Ensuite tu prend le contrôle d'excel grace à cette objet soit par exemple :
MyXl.Sheet2.Case(1,1).Value 'Heee cette commande est faite de mémoire je n'est pas Excel sur mon poste (open office)
Donc cette commande te retourn la valeur de la cellule A1 et tu peut faire des get ou des set graçe à lui.

Bon courage
A+
Amicalement
Messages postés
11
Date d'inscription
mercredi 28 février 2007
Statut
Membre
Dernière intervention
6 avril 2007

Salut,

Je suis en Visual Basic 6 (SP6) et non en VBA :s

Si tu sais comment faire en VB ...
Merci quand même

++
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Je dois comprendre que ça marche
si tu à acceptée les réponse?
Si oui ravie
d'avoir pue aider.




Amicalement
Messages postés
11
Date d'inscription
mercredi 28 février 2007
Statut
Membre
Dernière intervention
6 avril 2007

Lol non désolé mais je suis nouveau sur le site je croyais qu'il fallait accepter la réponse pour qu'elle soit postée

Mais non en fait moi il faudrait que je sache pourquoi il ne veux pas me mettre le lien DDE alors que Excel est ouvert et tout
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Je ne sais pas comand ce nome cette façon de faire mais je ne crois pas que ce soit du DDE (ou alors une façon de faire TRES differante de celle que j'emploie actuelement)
Il est possible qu'il faille ajouté une référance pour que le code que j'ai mit plus haut fonctione (il me semble que c'est 'Microsoft Office 9.0 Object Library' mais sans garantie). Si non je vais regarder par DDE mais ce n'est pas possible tout de suite, désol j'ai du taf
Déjà teste cas et dit moi si ca marche ou non, alors je regarderais pour les DDE (si ca ne marche pas bien sure)

Amicalement
Messages postés
11
Date d'inscription
mercredi 28 février 2007
Statut
Membre
Dernière intervention
6 avril 2007

Oki merci bcp Polack77 ça m'a l'air de fonctionner sauf que lorsque je tente de lire une celulle il me sort :

Runtime error '9' : subscript out of range

Mais pourtant je lie une celulle qui existe avec du texte dedans

Merci beaucoup pour ton aide
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

???
Teste ta ligne directement de Excel il y à peut être une erreur dedans.
Quel paramétre à tu mit (ceux que j'ai noté A,B,C,D dans mon poste précédant)? place ta ligne qui plante dans un post j'ai un peut de temps ce matin (mais je vais être occupé toute l'appré midi donc fais vite si non ça risque d'être demain)

Amicalement
Messages postés
11
Date d'inscription
mercredi 28 février 2007
Statut
Membre
Dernière intervention
6 avril 2007

C'était mon argument de fichier qui était pas bon (le nom au lieu du numero)
Merci beaucoup à toi pour le temps et l'aide
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Pense à acceptée les réponses

Amicalement