Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…