Agrandir fenêtre

J-Charles

XLDnaute Occasionnel
Bonjour à tous

Je travaille actuellement avec excell et une application sous format WEB qui elle se trouve dans notre intranet. J'ai créé sur mon tableau d'excell une macro me permettant d'ouvrir cette application:
MyAppID = Shell("C:\Program Files\Internet Explorer\IEXPLORE.EXE http://........./ApplicationX", vbMaximizedFocus)
Lors de la première ouverture, aucun problème, dés que j'ai récupéréré mes infos, je réduis la fenêtre de l'application avec le "-" en haut à gauche. L'application se réduit dans la barre de tâche en bas à droite. Dés que je veux revenir dans cette application, je clic sur ma macro ... Le pb c'est que la fenêtre de l'application ne s'ouvre pas à l'écran, on voit qu'il se passe quelquechose (réouverture de l'appli) mais elle reste réduite dans la barre de tâche.
Existe t'il une solution?
Merci d'avance
 

STephane

XLDnaute Occasionnel
Re : Agrandir fenêtre

essaye ceci :
- déclare MyAppID comme publique (public MyAppId)
- tu lances ta macro
- puis pour réafficher ton programme lancé, tu utilises une autre macro avec l'instruction suivante :
AppActivate MyAppID

regarde si tu peux combiner les deux également en testant la valeur de MyAppID.
 

J-Charles

XLDnaute Occasionnel
Re : Agrandir fenêtre

Bonjour ,

Merci à Raja et Stéphane pour leurs conseils. Vendredi aprés-midi, n'étant pas au bureau, je n'ai pas pu faire d'essais, ce que je ferai lundi à la première heure.
Je précise que ma macro n'a pas que pour but d'ouvrir une application sur l'intranet. Avant d'ouvrir l'appli, elle copie une référence (17 chiffres) de mon tableau d'excell pour la coller dans l'appli afin de faire des recherches. Il faut donc une solution qui passe par le VBA et non une intervention par le clavier.
J'espère donc à lundi.
Merci
 

skoobi

XLDnaute Barbatruc
Re : Agrandir fenêtre

Bonjour,

j'ai une macro au boulo qui active une autre application dans laquelle j'inscris des données depuis le fichier excel via SendKeys.
Ca ressemble à ce que tu veux faire non?
AppActivate est la solution, seulement il faut y ajouter ensuite les instructions SendKeys ou autre.
A te relire.
 

J-Charles

XLDnaute Occasionnel
Re : Agrandir fenêtre

Salut SKOOBI,

Effectivement, ta macro semble correspondre à ce que je veux faire. Aprés quelques investigations dans ma boite, il se peut que mon pb vienne de la conception de l'application qui est le fruit de notre département informatique.
En revance, je ne connaissais pas la commande SENDKEYS. Aprés quelques recherches pour en apprendre d'avantage, elle devrait me servir pour saisir des données dans une appli au format weB, dont il fallait que j'actionne 7 fois la touche "Tabulation" pour me positionner au bon endroit.
Demain matin, je fais un essais et te signalerai si j'ai des difficultés.
Merci encore
 

skoobi

XLDnaute Barbatruc
Re : Agrandir fenêtre

Re,

Je peux tout de suite te dire que après chaque utilisation de SendKeys, tu dois mettre une "pause" pour laisser le système exécuter la commande car comme excel n'est plus actif, il y aura un décalage entre l'avancement de la macro et son exécution dans l'application activée.
Ce recours est la solution ultime car ceci n'est pas fiable à 100%. C'est à dire que la moindre perturbation réseau peut faire échouer la macro et pendant ce temps, il vaut mieux attendre et aller boire un café (le seul avantage :D).
Si tu ne vois pas comment faire pour la pause, n'hésite pas ;).
 

J-Charles

XLDnaute Occasionnel
Re : Agrandir fenêtre

Salut Skoobi,

Voici les quelques lignes de codes que j'ai écrites mais sans succés. L'application s'ouvre bien, mais la curseur ne se place pas où je voudrais. Je pensais qu'il fallait mettre des accolades, mais j'ai eu un message d'erreur, alors j'ai mis des guillemets.
Code:
    Application.ScreenUpdating = False
    MyAppID = Shell("C:\Program Files\Internet Explorer\IEXPLORE.EXE http://.....ApplicationX/", vbMaximizedFocus)
SendKeys "TAB 7"
Je suis partant pour que tu m'expliques comment placer une "pause", car je n'ai rien trouvé là dessus.
Je te remercie
 

skoobi

XLDnaute Barbatruc
Re : Agrandir fenêtre

Bonjour,

Pour la syntaxe de « SendKeys », regarde dans l’aide VBA (place le curseur sur l’instruction puis touche F1).
Voici un exemple qui permet de tabuler 7x avec une pause (nécessaire) de 0.2s (libre à toi d’augmenter ou non ce temps de pause) entre chaque utilisation de « SendKeys » et d’écrire « essai » dans la dernière case imaginaire :

Code:
[FONT=Times New Roman][SIZE=3]Sub test()[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]AppActivate ("bidule")[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]pause (1)[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]tabule(7)[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]SendKeys "essai", True[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3]End Sub[/SIZE][/FONT]
 
[SIZE=3][FONT=Times New Roman]Function pause(durée)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]début = Timer[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Do While Timer < début + durée[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]DoEvents[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Loop[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]End Function[/FONT][/SIZE]
 
[SIZE=3][FONT=Times New Roman]Function tabule(nfois)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]For n = 1 To nfois[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]SendKeys "{TAB}", True[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]pause (0.2)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Next[/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]End Function[/SIZE][/FONT]
La fonction tabule(nfois) permet d’éviter d’écrire 7x ceci:
SendKeys "{TAB}", True
pause (0.2)
SendKeys "{TAB}", True
pause (0.2)
SendKeys "{TAB}", True
pause (0.2)
SendKeys "{TAB}", True
pause (0.2)
SendKeys "{TAB}", True
pause (0.2)
SendKeys "{TAB}", True
pause (0.2)
SendKeys "{TAB}", True
pause (0.2)

Bon test.
 

J-Charles

XLDnaute Occasionnel
Re : Agrandir fenêtre

Salut Skoobi,

Merci pour ces quelques lignes. Le résultat est mitigé. Je me suis aperçu qu'en diminuant la durée il fallait augmenter le nombre de tabulations pour arriver sur la même case. Ce n'est pas un problème ... Malheureusement, je me suis aperçu que de temps en temps, le curseuur se positionnait juste avant la case voulue sans explication logique.
De plus, le fichier est sur un réseau. J'ai fait des essais à partir d'autres PC et le curseur n'arrive jamais au même endroit. Tu m'avais prévenu que ce n'était pas fiable à 100%.
Je te remercie pour ton aide et de m'avoir appris de nouvelles commandes VBA.
A te relire prochainement.
 
Dernière édition:

Statistiques des forums

Discussions
312 176
Messages
2 085 959
Membres
103 065
dernier inscrit
HB ARPF 95