Microsoft 365 Explorateur de fichiers windows et réseau local

Bill73

XLDnaute Junior
Bonjour le Forum,

Je bloque depuis un moment sur le problème suivant en VBA :
je voudrais pouvoir ouvrir l'explorateur de fichiers windows (pour pouvoir sélectionner un fichier) depuis l'endroit où le fichier excel est stocké.
- cas 1 : sur disque local (type C: ) : pas de problème
- cas 2 : sur OneDrive : pas de problème
- cas 3 : sur disque réseau (attention, type \\Disque Réseau\...) là, il y a problème !

j'ai remarqué que ChDrive ne marche pas, normal pas de lettre de lecteur.
j'utilise donc chDir \\Disque Réseau\...

Quand l'explorateur s'ouvre (pas à l'endroit demandé bien sûr !), je cherche à la main le fichier sur le lecteur réseau.
Quand je rouvre l'explorateur, il s'ouvre directement sur le lecteur réseau à l'emplacement demandé !

Du coup, il y a t-il un moyen de lui donner directement cet adressage au premier tour.
 

Bill73

XLDnaute Junior
bonsoir,

la macro :

VB:
Private Sub Ajouter_Click()
  Dim modif As Boolean
  Dim reponse As Integer
  Dim chFichEtiq As Variant, fileToOpen As Variant, NomFichier As String, chOd As String

  'une étiquette existe déjà
  If Not FM_FVin.Etiquette.Picture Is Nothing Then
    modif = False
    reponse = MsgBox("Une étiquette existe déjà, êtes vous sûr de vouloir la changer", _
                      vbYesNo + vbDefaultButton2, "Entrée étiquette")
    
    If reponse = 1 Then modif = True
    
  'étiquette à ajouter
  Else
    modif = True
  End If
 
  If modif = True Then
    chFichEtiq = Workbooks(ActiveWorkbook.Name).Path & "\Etiquettes"
    'gère l'environnement OneDrive
    If Left(chFichEtiq, 5) = "https" Then
      chOd = "\" & Mid(chFichEtiq, InStrRev(chFichEtiq, "/") + 1)
      chFichEtiq = Environ("OneDrive") & chOd
    End If
    'gère l'environnement réseau
    If Left(chFichEtiq, 2) = "\\" Then


      ChDir chFichEtiq

    Else

      ChDrive chFichEtiq
      ChDir chFichEtiq
    End If

    fileToOpen = Application.GetOpenFilename("Image,*.JPG;*.GIF;*.BMP")
    If VarType(fileToOpen) = vbString Then
      FM_FVin.Etiquette.Picture = LoadPicture(fileToOpen)
      NomFichier = CreateObject("Scripting.FileSystemObject").GetFileName(fileToOpen)
      FM_FVin.FVin20.Value = NomFichier
    End If
 
  End If
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
315 134
Messages
2 116 612
Membres
112 810
dernier inscrit
raphounet