IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Gestion des fichiers ouverts dans Windows


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Février 2015
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Gestion des fichiers ouverts dans Windows
    Bonjour,

    J'aurais en fait une double question :
    - Existe-t-il une instruction VBA permettant de détecter (ou de faire une liste) de tous les fichiers ouverts sur l'ordinateur (comme des fichiers PDF ou Word par exemple)
    - Le cas échéant, est-il possible d'enregistrer tous ces fichiers sous un répertoire défini par l'utilisateur ?

    Merci d'avance !

  2. #2
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Points : 658
    Points
    658
    Billets dans le blog
    17
    Par défaut voila un peu d'aide pour te dirigier
    Alors pour la premiere je ne sais pas trop mais peut etre avec le shell , attend quelqu'un qui s'y connais
    Mais pour la deuxieme va voir du coté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim fichier As New Scripting.FileSystemObject
    en fait explique moi plus , tu veux enregistrer des fichiers qui sont dans un meme dossier ?

    Avec ma methode n'oublie pas d'activer la reference microsoft scripting runtime

    Apres dis nous en plus mais tu peux faire pas mal de chose avec... Pour acceder a un folder ou une file tu met getfolder ou getfile , tu peux les parcourir etc..

    Voila j'atend ton retour

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Février 2015
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    D'abord merci de m'accorder du temps.

    J'explique mon souci plus en détail :

    J'ai mis en place sur Excel une base de données réunissant les caractéristiques de machines industrielles. Pour chaque machine il est possible d'ajouter un lien vers un fichier relatif (comme des plans par exemple). J'utilise donc le code ci-dessous (qui permet de copier le fichier dans un dossier dédié et de mettre un lien hypertexte dans la BDD Excel).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Dim source, cible, extension, nom_fichier As String
            Dim FSO As Object
            Dim NombreFichiers As Long
     
            source = Application.GetOpenFilename 'ouverture de l'explorateur et récupération du fichier
            extension = Right(source, Len(source) - (InStr(source, ".") - 1)) 'extraction de l'extension
            Dossier = "X:\Env &  Industrie\-EXPERTISE TECHNIQUE\11_R&D\UDDD0387_STD01431__Bdd carac_source\BDD Oil&Gas\Attached files\" 'définition du dossier cible
            nom_fichier = Mid(source, InStrRev(source, "\") + 1, InStrRev(source, ".") - InStrRev(source, "\") - 1) 'extraction du nom du fichier
     
            cible = CStr(Dossier & nom_fichier & extension) 'définition du nouveau chemin d'accès
     
            If InStr(source, ".") <> 0 Then 'en cas d'annulation, ne rien faire ; copier et insérer l'hypertexte uniquement si un fichier est sélectionné
     
                FileCopy source, cible 'copie du fichier dans le dossier cible
                ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell, Address:=cible, TextToDisplay:="2" 'ajout du lien hypertexte dans la cellule double-cliquée
     
                'définition de la police pour affichage du symbole
                With ActiveCell.Font
                    .Name = "Wingdings"
                    .Size = 34
                End With
     
            End If
    Celui-ci fonctionne parfaitement pour tous les fichiers présents sur le réseau de l'entreprise
    Le problème est que certains fichiers sont gérés sur un cloud est que ce code ne fonctionne pas dans cette configuration.
    J'essaie donc de contourner le problème en regardant si il est possible d'ouvrir un fichier depuis le cloud, et une fois ouvert, l'enregistrer directement dans le dossier qui va bien depuis la BDD Excel.

    Voilà j'espère avoir été plus clair.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/03/2014, 09h53
  2. [XL-2007] Liste des fichiers ouverts dans la QAT
    Par berapard dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/03/2011, 18h54
  3. [WS 2008] Délégation des droits sur la gestion des fichiers ouverts
    Par mims1664 dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 16/11/2010, 10h44
  4. [XL-2003] Gestion des fichiers ouverts ou fermés
    Par chouchou_82 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/10/2010, 14h27
  5. [VBA-E] gestion des fichiers ouverts ...
    Par SpaceFrog dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 20/01/2006, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo