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 :

Problème VBA nouveau classeur et lancement macro [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Problème VBA nouveau classeur et lancement macro
    Bonjour,

    J'ai fais dans un classeur excel nommé TEST.xls contenant plusieurs macros en vba.
    J'ai fais dans Excel un bouton personallisé qui me lance une macro pour afficher un Userform et utilisé mes différentes macros.

    Si maintenant je ferme Excel, et par la suite j'ouvre un nouveau classeur excel vierge nommé Classeur1.xls sans macro ni rien dedans et que j'appuie sur le bouton personnalisé, Excel me réouvre directement aussi le fichier excel TEST.xls contenant les macros que j'ai programmé.

    Ma question est simple, comment faire pour ne pas afficher ou ouvrir le fichier TEST.xls au lancement de mes macros ? Car ce fichier ne doit pas être visible ni modifiable par un utilisateur lambda.

    Tout le monde doit pourvoir utiliser les macros mais le classeur TEST.xls ne doit pas s'afficher ou s'ouvrir si l'on appuie sur le bouton personnalisé.

    Comment faire ? J'espère avoir été assez clair car je cherche une solution depuis 3 jours sans rien trouvé de concret.

    Merci par avance de votre aide

  2. #2
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Bonjour,

    pour empêcher l'utilisateur 'lambda' d'avoir accès aux macros du classeur test, je ne vois que la solution du mot de passe.

    Puisque tout le monde a accès au bouton de lancement du classeur test, il faut y rajouter une macro ouvrant un petit formulaire qui demande un mot de passe. Si le MdP entré est correct, vous mettez à 'True' un drapeau interne au programme, qui autorisera ou interdira l'exécution de telle ou telle macro.
    Evidemment, vous devez penser aussi à protéger le code VBA en mettant aussi un mot de passe au projet. Sinon, il suffirait de lire le code VBA pour connaitre le mot de passe...

    J'espère que mes explications ne sont pas trop confuses...
    @ bientôt...

    Salut & @+ sur 3W!

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci pour cette réponse mais ce n'est pas exactement ce que je cherche.
    Comme par exemple le classeur PERSO.XLS, je souhaite executer une macro depuis n'importe quel fichier excel mais que le fichier excel TEST.xls contenant la macro reste masque, il ne doit pas s'afficher.

    Donc ma question est : peut on appeler un classeur de macro personnelles autrement que PERSO.xls et executer les macros depuis n'importe quel classeur excel même vierge sans que le fichier TEST.XLS ne s'affiche mais reste en mode masque ou cache ?

    Merci par avance de vos réponses.

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Le fichier contenant la macro tu l'enregistres comme macro complémentaire : enregistrer sous --> macro complémentaire (fichier xla)

    A partir de là tu vas pouvoir exécuter cette macro depuis n'importe quel autre classeur
    1. ouverture du fichier xla (il ne sera visible que depuis l'éditeur VBA)
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Workbooks.Open ("d:\temp\MonFichier.xla") '<-- chemin et nom du fichier à adapter
    2. exécution de la macro
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Application.Run "MonFichier.xla!LaMacro" '<-- noms du fichier et de la macro à adapter
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 38
    Points : 47
    Points
    47
    Par défaut
    Je ne sais pas exactement si c'est ce que tu cherches :

    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
    'Création variable excel
    Dim xlApp As Excel.Application 'Ouvre Excel
    Dim xlWB As Excel.Workbook     'Ouvre une feuille Excel
     
    Set xlApp = CreateObject("Excel.Application")
        xlApp.Visible = False
     
    'OUVRE LE FICHIER EXCEL SGCF!!!!!!!!!!!!!!!!!!!
    Set xlWB = xlApp.Workbooks.Open("C:\EXCEL\EXCEL.xls")
    '-----------------------------------------------------------------------
     
    'Lancer la bonne macro sur SGCF.xls
    xlWB.Application.Run "NOMMACRO"
    xlWB.Activate
     
    'Fermer le fichier Excel SGCF
    xlWB.Close True
    xlApp.Quit
    Du coup réalise la macro et ouvre ton fichier excel sans te l'afficher(Mais se sera transparent pour l'utilisateur)

    JE ne sais pas si c'est ce que tu cherchais

  6. #6
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour à tous,

    C'est bon j'ai pu m'en sortir avec la création d'un classeur de macros complémentaires comme indiqué par fring avec par contre la macro crée dans ce classeur vla et non pas dans un nouveau classeur excel.

    Mon bouton appelle la macro dans mon fichier TEST.vla placé dans un répertoire réservé aux macros complémentaires et rien ne s'affiche comme je le voulais sauf le UserForm de départ qui sert de plateforme d'accès aux fonctions.

    Merci à tous.

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

Discussions similaires

  1. [VBA][Excel]Copier une feuille dans un nouveau classeur
    Par illight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/10/2020, 12h51
  2. VBA Excel, classeur XLA, appel macro
    Par radinor dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/09/2009, 21h35
  3. VBA raccourcis clavier pour lancement macro
    Par JNP63 dans le forum VBA Word
    Réponses: 4
    Dernier message: 25/11/2008, 17h26
  4. Réponses: 21
    Dernier message: 31/01/2006, 16h39

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