Afficher 2 fenêtres de l'explorateur de fichiers windows côte à côte

Le
rmillerlcxl
Bonjour,

Avec le code ci-dessous je réussi à ouvrir 2 fenêtres de l'E=
xplorateur de fichiers Windows. Mais je recherche une façon pour les a=
fficher côte à côte par VBA.

Auriez-vous svp une façon de faire?

Merci à l'avance.


Sub OuvreCheminExplorateur()

Shell "C:WindowsExplorer.exe " & "C:", vbMaximizedFocus
Shell "C:WindowsExplorer.exe " & "D:", vbMaximizedFocus

End Sub
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26515858
Bonjour,
Regarde si cela fait ton affaire sinon tu devras l'adapter! Voir le
fichier joint.
https://www.cjoint.com/c/IEdtBCArsrj
MichD
rmillerlcxl
Le #26515862
Wow! Un énorrrrrrme merci. Cela est exactement ce que je recherchais. Vous êtes le meilleur!
J'ai adapté vbNormalFocus pour vbMaximizedFocus.
J'ai aussi adapté
Case 1
MoveWindow hWnd, 0, 0, 950, 550, 1
Case 2
MoveWindow hWnd, 950, 0, 950, 550, 1
pour
Case 1
MoveWindow hWnd, 0, 0, 950, 950, 1
Case 2
MoveWindow hWnd, 950, 0, 950, 950, 1
Mais … qu'est-ce que 0, 0, 950, 550, 1 signifie exactement?
'************************************************************************** ***
For x = 1 To 2
Select Case x
Case 1
Shell "C:windowsSystem32explorer.exe", vbMaximizedFocus
Case 2
Shell "C:windowsSystem32explorer.exe", vbMaximizedFocus
End Select
Next
'************************************************************************** ***
If A > 4 Then Exit Function
Select Case A
Case 1
MoveWindow hWnd, 0, 0, 950, 550, 1
Case 2
MoveWindow hWnd, 950, 0, 950, 550, 1
End Select
MichD
Le #26515863
'*****************************************************************************
If A > 4 The Exint Function
Select Case A
Case 1
MoveWindow hWnd, 0, 0, 950, 550, 1
Case 2
MoveWindow hWnd, 950, 0, 950, 550, 1
End Select


MoveWindow hWnd, 950, 0, 950, 550, 1
x , y , largeur, Hauteur, 1= Mise à jour de la
dimension de la fenêtre
MoveWindow : Un API de Windows possédant certains paramètres déplaçant
une fenêtre...
hwnd : le "Handle" de la fenêtre. (Un chiffre de type Long)
X et Y = Les coordonnées où la fenêtre de l'explorateur sera située dans
l'écran.
Les 2 chiffres suivants : La largeur et la hauteur de la fenêtre
1= Mise à jour de dimension de la fenêtre selon les informations données.
Comme tu as seulement 2 fenêtres, tu peux modifier ceci :
If A > 4 The Exint Function
Par
If A > 2 The Exint Function
MichD
MichD
Le #26516050
Voir le fichier suivant : https://www.cjoint.com/c/IEgnxhvJhgj
Attention, tu veux ouvrir 2 "EXPLORATEURS DE FICHIERS WINDOWS".
La procédure cherche à ouvrir "l'explorateur de fichier" sur ledit
répertoire que tu as spécifié. Est-ce que cette troisième fenêtre à
rapport avec Internet puisque ton répertoire débute par FTP qui est un
protocole d'Internet?
Moi, je n'ai pas ton environnement. Regarde la procédure "MichD()", j'ai
ajouté un bout de code permettant d'identifier l'usager et le mot de passe.
Désolé, à partir d'ici, tu devras adapter le code pour qu'il convienne à
ton application. J'ai fait quelques tests sur Excel 2016, est-ce que
tout est OK sur toutes les versions d'Excel, je ne sais pas!
Bon travail.
MichD
rmillerlcxl
Le #26516140
Oui je comprend bien et encore un grand merci.
Si cela peut aider …
Ce qui me causait un problème est que avec le code que j'avais inscrit … suite à la saisie du code d'usager et du mot de passe qui s 'affichait … une autre fenêtre s'affichait … et qui de mandait à nouveau le code d'usager et le mot de passe et qui venait in terférer.
J'ai plutôt ajusté la ligne de code pour ouvrir le FTP … mais qui inclus le code d'usager et le mot de passe. Alors ça ouvre di rectement sur le FTP et il n'y a plus d'autres fenêtres qui s'ouvrent. Cela est intéressant je crois bien.
Mon seul problème maintenant … est que … une fois le c ode exécuté … malgré que les 2 fenêtres sont bi en côte à côte … Seulement une des deux (la 1èr e) est visible par défaut. Je ne vois pas la 2ème. Je dois aller cliquer dessus. Peut-être qu'il ne manque qu'un petit bout de code ou qu'un petit ajustement?
'**************************************************************************
For x = 1 To 2
Select Case x
Case 1
Shell "C:WindowsExplorer.exe " & "ftp://MichD.lcxl.ca:Xl0012 ", vbMaximizedFocus
Case 2
Shell "C:windowsExplorer.exe", vbMaximizedFocus
End Select
Next
'**************************************************************************
Private Function fGetCaption(hWnd As Long) As String
Dim strBuffer As String
Dim intCount As Integer
strBuffer = String$(mconMAXLEN - 1, 0)
intCount = GetWindowText(hWnd, strBuffer, mconMAXLEN)
If intCount > 0 Then
fGetCaption = Left$(strBuffer, intCount)
Debug.Print fGetCaption
If UCase(fGetCaption) = UCase(NomFenetre) Or _
UCase(fGetCaption) = UCase(NomFenetre1) Then
A = A + 1
If A > 2 Then Exit Function
Select Case A
Case 1
MoveWindow hWnd, 0, 0, 950, 950, 1
Case 2
MoveWindow hWnd, 950, 0, 950, 950, 1
End Select
T = Timer + 2
Do While T >= Timer
DoEvents
Loop
End If
End If
End Function
'************************************************************************
MichD
Le #26516144
En passant, si tu utilises cette ligne de code :
"Application.SendKeys Usager & "{TAB}" & MotDePasse"
Tu devrais la modifier comme ceci :
Application.SendKeys Usager & "{TAB}" & MotDePasse & "~"
Le dernier symbole "~" devrait permettre de fermer la fenêtre, c'est
l'équivalent de ceci : "{ENTER}"
MichD
rmillerlcxl
Le #26516146
D'accord merci.
Mais dans ce cas il n'y a pas le besoin d'utiliser le SendKey.
MichD
Le #26516184
Le 07/05/19 à 11:04, a écrit :
D'accord merci.
Mais dans ce cas il n'y a pas le besoin d'utiliser le SendKey.


Bonjour,
Comme je suppose que le code fonctionne correctement maintenant, peut-on
avoir une copie de ce dernier...ça peut toujours servir à d'autres!
MichD
Publicité
Poster une réponse
Anonyme