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 :

XL 2021 - 1 fichier données + 1 fichier macros


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 50
    Par défaut XL 2021 - 1 fichier données + 1 fichier macros
    Bonjour à tous,

    L'idée générale est dans le titre : 1 fichier comprenant les données à traiter sur C: + 1 fichier vierge contenant les macros. sur Clé USB
    La présence d'un fichier sur clé USB constitue une sorte de sécurité.

    J'ai simplement lié, dans le fichier données, une image à une macro située sur la clé; et cela fonctionne comme prévu.

    MA QUESTION : comment remplacer les messages sytème qui apparaissent

    - à l'ouverture du fichier données lorsque la clé est absente :
    >>> IMPOSSIBLE D'ACTUALISER nous n'avons pas pu actualiser ........ Gérer les liens des classeurs

    - lors du clic sur l'image:
    >>> Désolé, nous ne trouvons pas le fichier F: fichier externe
    >>> Impossible de trouver la macro ...


    MON SOUHAIT : à l'ouverture du fichier données, si la clé USB est absente, msgbx perso, et fermeture immédiate du fichier données

    NB: j'ai testé une macro événement Workbook_Open qui désactive les alertes puis renvoie vers une gestion erreur;
    malheureusement; les messages apparaissent toujours

    Merci pour vos suggestions

    PhD

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 472
    Par défaut
    Salut,

    Il n'est pas possible de désactiver ces messages, ils sont hors de portée pour VBA.

    Quand a déporter les macros sur une clef USB, ca ressemble plus à une fausse bonne idée.
    Comment vas-tu garantir la lettre du lecteur ?

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 50
    Par défaut
    Salut Deedolith,

    Merci pour ton éclairage sur les messages.

    Pour info, j'ai contourné le problème avec une macro dans mon fichier de données qui appelle la macro située sur la clé (Application.Run).
    Ainsi plus de message à l'ouverture du fichier.
    La macro dans le fichier de départ permet de gérer les erreurs liées au clic sur image en cas d'absence de la macro appelée

    La Msgbox pourrait spécifier la clé et la lettre à lui affecter ... de toutes façons, il faut posséder la clé donc le risque me semble réduit

    Quel est ton avis sur la question ?

    Peut-être est-il possible de lire les différents disques et clés et vérifier la présence / l'absence du fichier
    puis de récupérer le chemin dans une variable employée lors de Application.Run ?

    Dans ce cas, je veux bien un peu de soutien pour écrire cette boucle ...


    Maintenant, peut-être est-ce effectivement une FAUSSE bonne idée.

    Merci pour ton avis sur ces différentes infos

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 472
    Par défaut
    Via la librairie FSO, on peut boucler sur les lecteurs et obtenir des information utiles sur ces dernier, notamment leur type permettant de savoir si on a affaire à un disque dur, lecteur réseau, CD-Rom ect ...

    Un fonction comme suit pourrais t'être utile:
    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
    Public Function GetFilePathOnUSB(ByVal Path As String) As String
        Const Removable As Byte = 1
     
        Dim Fso As Object       '// Scripting.FileSystemObject
        Set Fso = CreateObject("Scripting.FileSystemObject")
     
        Dim Drive As Scripting.Drive
        For Each Drive In Fso.Drives
            If (Drive.DriveType = Removable) Then
                If (Fso.FileExists(Drive.Path & Path)) Then
                    GetFilePathOnUSB = Drive.Path & Path
                    Exit Function
                End If
            End If
        Next
        GetFilePathOnUSB = vbNullString
    End Function
    On lui donne en argument le chemin d'un fichier, dépourvu de la lettre du lecteur (exemple: "\MonDossier\MonFichier.xlsx"),
    elle retourne le chemin complet si trouvé, sinon c'est une chaîne vide.

    Note:
    Je reste sceptique quand à l'utilisation d'une telle solution.

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 50
    Par défaut
    OK merci pour la solution proposée.
    Je testerai à l'occasion ...sur mon appareil et sur d'autres

    J'ai pour l'instant d'autres priorités, mais je te dirai si ta soluce fonctionne.
    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Enregistrement KO - Si je change le nom du fichier - Macro VBA ThisWorkbook
    Par Nico Co dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 30/07/2014, 13h59
  2. Automatisation d'un fichier macros VBA
    Par Baptiste67 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/11/2012, 18h39
  3. Publipostage Word depuis Excel avec datasource = fichier macro vba
    Par julac dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/11/2012, 14h58
  4. Ouverture automatisé de fichiers + Macro automatique
    Par Razekiel_ dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/05/2011, 23h33
  5. Récupérer fichier Macro word 2007
    Par djbobo27 dans le forum VBA Word
    Réponses: 1
    Dernier message: 02/09/2008, 18h28

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