Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

9 réponses
Avatar
rmillerlcxl
Bonjour,

Avec le code ci-dessous je r=C3=A9ussi =C3=A0 ouvrir 2 fen=C3=AAtres de l'E=
xplorateur de fichiers Windows. Mais je recherche une fa=C3=A7on pour les a=
fficher c=C3=B4te =C3=A0 c=C3=B4te par VBA.

Auriez-vous svp une fa=C3=A7on de faire?

Merci =C3=A0 l'avance.


Sub OuvreCheminExplorateur()

Shell "C:\Windows\Explorer.exe " & "C:\", vbMaximizedFocus
Shell "C:\Windows\Explorer.exe " & "D:\", vbMaximizedFocus

End Sub

9 réponses

Avatar
MichD
Bonjour,
Regarde si cela fait ton affaire sinon tu devras l'adapter! Voir le
fichier joint.
https://www.cjoint.com/c/IEdtBCArsrj
MichD
Avatar
rmillerlcxl
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
Avatar
MichD
'*****************************************************************************
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
Avatar
MichD
Regarde le fichier : https://www.cjoint.com/c/IEfuNX0d2Zj
MichD
Avatar
MichD
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
Avatar
rmillerlcxl
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
'************************************************************************
Avatar
MichD
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
Avatar
rmillerlcxl
D'accord merci.
Mais dans ce cas il n'y a pas le besoin d'utiliser le SendKey.
Avatar
MichD
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