Autres VBA Excel 2007 Maintenir un useform et un navigateur internet toujours ouvert.

Marcham

XLDnaute Nouveau
Bonjour,
J'ai fait un programme pour récupérer des informations sur des sites internet.
Je passe par un Useform (ChoixInternet) qui propose une liste de sites où récupérer ces informations mais si aucun des sites proposés ne correspond à ce que veut l'utilisateur, je veux offrir à ce dernier la possibilité de chercher lui-même le site avec lequel il souhaite que les information soient récupérées. Pour cela, il clique sur un bouton du Useform (ChoixInternet) qui provoque les événements suivant :

Private Sub OuvreQwant_Click()
Dim ACopier As String
ACopier = Cells(1, 2).Value 'Titre du livre
With New DataObject
SetText "Livre " & ACopier 'Construction des instructions de recherche
PutInClipboard 'Met le texte dans le presse papier windows
End With
Shell "C:\Program Files\Mozilla Firefox\firefox.exe", vbNormalFocus ' Lance internet
Unload Me 'Ferme l'useforme "ChoixInternet" 'Ferme l'Useform courant
RecupLienHyper.Show vbModeless 'Ouvre l'Useform dans lequel l'utilisateur collera l'adresse du site qu'il désire
End Sub

Alors l'utilisateur cherche le site qui lui plait, copie l'adresse du site et le colle dans l'useform.

Concernant l'useform (RecupLienHyper), je l'initialise ainsi :

Private Sub UserForm_Initialize()
Me.Move 0, 0
End Sub

Afin qu'il soit en haut à droite de mon écran (pas de la fenêtre excel)

Voici mon problème :
Je souhaite que ma fenêtre internet (je travaille avec Firefox) soit la plus grande possible sans masquer le useform (RecupLienHyper) afin que, quand l'utilisateur à choisir le site internet qu'il désire, puisse copier l'adresse du site (il fait un Crtl + C sur l'adresse) et la coller dans l'useform (avec un Crtl +V, naturellement) sans réduire ou réactiver des fenêtres, c'est-à-dire : d'un seul trait.
Pour simplifier, je souhaite que l'useform et internet soit ouverte toute les deux sans qu'un clic masque l'autre application.

Voici 3 solutions que j'envisage mais je n'arrive à en faire aucune.

1 – L'useform en haut à gauche et la fenêtre "Firefox" dans l'espace restant. Mais comment imposé les côtes et la disposition de cette fenêtre quelque soit l'historique de la fenêtre "Firefox" ?
2 – Faire un grand useform qui occupe tout l'écran et équipé d'un cadre dans lequel je mets "Firefox" et faire les recherches là-dedans. Comment fait-on alors ?
3 – Ouvrir "Firefox" en grand sur tout mon écran et mettre pardessus l'useform sans que se dernier disparaisse parce qu'on aurait fait un clic dans "Firefox". Mais comment imposer la non-disparition de l'useform ?

N'importe quelle de ces trois solutions me convienne.
Je vous remercie d'avance - Marc
 

patricktoulon

XLDnaute Accro
re
tu n'a pas d'autre solution que d'utiliser les api window et ça va être coton d'autant plus que je suis pas sur que l'on y arrive avec firefox
mais toute fois regarde du coté de selenium qui est l'homologue de la librairie IE pour firefox/chrome peut être y a t il une fonction de resize windows pour le document.parent mais rien n'est moins sur

en tout cas la tu es parti dans un casse tète ou on s'en sort pas

utilise plutot IE en earlybinding (autocompletion pour l'aide à coder) voir même un webbrowser puisque tu es sur 2007 ;)
 

Marcham

XLDnaute Nouveau
Merci, mais où est-ce que je trouve "selenium" et qu'est-ce c'est ?

"en tout cas la tu es parti dans un casse tète ou on s'en sort pas " tu penses que c'est pas possible ? Alors je me mets au défi (si on m'aide).
 

patricktoulon

XLDnaute Accro
re
j'ai pas dis que c’était impossible seulement que c'est cotton , et si tu n'a pas les bases de connaissance avec les api windows je vois difficilement comment t'aider si ce n'est faire les choses a ta place
fire fox VBA récupération de données purée t'es pas arrivé ;)

IE IE IE IE IE !!!!!!!!!
 

Marcham

XLDnaute Nouveau
Bon ben comment (et où) apprendre à "dresser" les api Windows. Ça nécessite combien d'années de travail (je suis à la retraite)
Et puis, si en plus tu fais les choses à ma place, ça serait certes sympa, mais ce n'est pas comme ça que je vais apprendre. Mais tu peux peut-être me mettre le doigt dans l'engrenage afin que je me laisse aspirer en entier.
 

patricktoulon

XLDnaute Accro
re
fait une recherche sur findwindowA, showwindowA , setwindowpos
mais je te le répète c'est dépenser beaucoup d’énergie pour rien alors que tu a déjà tout avec un webbrowser dans un userform
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

[réflexions en regardant la soupe mitonnée]
1) La prime nature d'Excel est d'être un tableur
2) Un navigateur "à la page" sait très bien faire ceci
J'ai fait un programme pour récupérer des informations sur des sites internet.
Exemple: la page Speed Dial de Chrome (ou assimilé)
Sur laquelle on peut disposer N sites et en ajouter.
3) Donc utiliser un outil dédié ou réinventer la roue dans Excel en s'arrachant les cheveux?
Personnellement, je sais quelle piste, je suivrai ;)
[/réflexions en regardant la soupe mitonnée]

PS: Ceci n'est point une critique, juste un avis personnel.
Donc inutile de passer en mode vénére ;)
 

Marcham

XLDnaute Nouveau
Bon ben voilà, Ça y est j'ai trouvé.
Staple, je suis bien d'accord. Mais l'opération que je décris ne représente qu'une petite partie et je préfère la laisser attacher au tableur.
Et pour aller dans ton sens, il aurait d'ailleurs mieux valu que j'utilise Access. Mais bon va savoir ce qui ce passe dans ma tête.
A oui au fait, la solution que j'ai trouvé est d'utiliser l'application "SuperMacro" - https://supermacro.fr/ - qui permet de faire joujou avec Windows sans le faire exprès.
Dernière question : Comment on fait pour déclarer ça comme étant résolu ?
 
Haut Bas