Macro pour ouvrir et activer un fichier d'un autre logiciel;

liedo

XLDnaute Nouveau
Bonjour,
J'ai un problème avec cette macro ci-dessous. J'ai cherché sur tous les forums. j'ai rencontré des gens qui ont ce même problème mais pas la solution.
Le problème est ceci; je veux ouvrir un fichier (exemple Armature15.txt) et y opérer des actions (exemple ecrire '0,0' "L>" '10,10')
Mais lorsque je l'ouvre, elle ne s'active pas et c'est dans ma feuille excel que mes opérations sont éffectuées (dans l'exemple 0,0 est écrite dans la cellule active et 10,10 dans la cellule juste en bas.)
Que faire? Comment activer le fichier ouvert ou bien laisser un petit temps au nouveau fichier de charger avant de commencer à écrire?
Merci d'avance.

_________________________________________________________________

Sub recherche1()
Dim RetVal
RetVal = Shell("C:\Program Files\Notepad++\notepad++.exe U:\Feuilles Utiles\Armature15.txt", 2)
SendKeys "0, 0": SendKeys "{ENTER}": SendKeys "10, 10"
SendKeys "{ENTER}"
End Sub
 

JNP

XLDnaute Barbatruc
Re : Macro pour ouvrir et activer un fichier d'un autre logiciel;

Bonsoir le fil :),
Sans doute que la récente réponse de JNP va t'aider ...
Merci James pour la citation ;)...
Juste une subtilité : notre ami veut AJOUTER du texte à un TXT, or le code donné ECRASE le contenu du TXT :rolleyes:...
Il faut donc modifier le début du code ainsi
Code:
Open "FICHTEST.txt" For Append As #1
en changeant Output par Append :D.
Pour aller plus loin, en lisant les données du TXT avant de tout remplacer par exemple, voir l'aide sur
Code:
Input #, instruction
Bon courage :cool:
 

liedo

XLDnaute Nouveau
Re : Macro pour ouvrir et activer un fichier d'un autre logiciel;

Bonjour les amis,
Comme je disais, j'ai essayé l'instruction "Open" et "Print #" et ça marche bien. Mais mon problème est un peu plus compliqué que ça.
J'utilise un logiciel qui marche avec des lignes de commandes et mon objectif est de l'ouvrir et d'exécuter quelques lignes de commande automatiquement à partir d'Excel, récupérer des donnée avant de revenir dans Excel.

Exemple:
Ligne
0,0
10,5
Cercle
0,0
1,1

Ces commande me trace respectivement une ligne partant de 0,0 à 10,5 (coordonnées x,y) puis un cercle de centre 0,0 et de rayon 1.

Le problème avec les instructions " Shell et Sendkey" c'est que ça m'ouvre bien le logiciel autocad, mais le met de coté et revient exécuter les lignes de commande plutôt dans Excel.

Avec les instructions "Open et Print #", le problème c'est que ça ne m'ouvre même pas Autocad contrairement à Notepad où ça marche bien. J'ai essayé de panaché Shell et Print # mais ça ne marche pas non plus.
Merci d'avance.

Macro de references :

______________________________________________________
Sub recherche1()
Dim RetVal
RetVal = Shell("C:\Program Files\Autodesk\Autocad.exe U:\Feuilles Utiles\Dessin1.dwg", 2)
SendKeys "0, 0": SendKeys "{ENTER}": SendKeys "10, 10"
SendKeys "{ENTER}"
End Sub


Sub recherche1()

Open "U:\Feuilles Utiles\Dessin1.dwg" For Append As #1

Print #1, “ligne
Print #1, "0,0"
Print #1, "10,5"

End Sub
 

JNP

XLDnaute Barbatruc
Re : Macro pour ouvrir et activer un fichier d'un autre logiciel;

Re :),
Comme je disais, j'ai essayé l'instruction "Open" et "Print #" et ça marche bien. Mais mon problème est un peu plus compliqué que ça.
J'utilise un logiciel qui marche avec des lignes de commandes et mon objectif est de l'ouvrir et d'exécuter quelques lignes de commande automatiquement à partir d'Excel, récupérer des donnée avant de revenir dans Excel.
...
Le problème avec les instructions " Shell et Sendkey" c'est que ça m'ouvre bien le logiciel autocad, mais le met de coté et revient exécuter les lignes de commande plutôt dans Excel.
Si je comprends bien, pour un problème Autocad, tu nous as posé une question sur du TXT :mad: !!! ???
Pourquoi ne pas l'avoir dit depuis le départ :confused:...
Donc, soit tu continues avec Shell et Sendkey, mais autant revenir à de la programmation des années 80 en DOS :rolleyes:... Seules pistes à te donner : Wait qui te permettra d'attendre et Window qui devrait te permettre de choisir ta fenêtre d'éxécution :p...
Sinon, la logique serait de travailler comme VBA est prévu pour, en langage objet, ouvrir les références Autocad, définir une instance d'Autocad, la piloter depuis Excel, etc., mais là, je n'ai pas Autocad, donc bon courage ;) !
Bonne soirée :cool:
 

liedo

XLDnaute Nouveau
Re : Macro pour ouvrir et activer un fichier d'un autre logiciel;

Bonjour et merci pour ton aide.
Je savais que peu de gens possédait excel donc pour élargir mes chances d'être répondu j'ai pris un logiciel que tout le monde a . Je vais donc essayer avec wait et je te tiendrai informé. Par contre étant vraiment un débutant en VB, le langage objet c'est pire que du chinois pour moi. Mais qui sait? Je continue de fouiner donc. Le plus dur c'est que j'ai pas de pc chez moi donc je fais tout au bureau et bonjour la lenteur.
 

Discussions similaires

L
Réponses
4
Affichages
2 K
Z

Membres actuellement en ligne

Statistiques des forums

Discussions
312 677
Messages
2 090 824
Membres
104 677
dernier inscrit
soufiane12