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 :

Macro hors fichier excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut Macro hors fichier excel
    Bonjour

    J'ai cherché sur le net mais difficile de formuler la question pour qu'elle compréhensible par les moteurs de recherche.

    J'ai créé une macro dans un fichier .xlsm . Elle prend les cellules de la première ligne et modifie les contenus selon certains critères.
    Quand je veux utiliser cette macro dans un autre fichier Excel, je dois d'abord ouvrir ce fichier.

    Est-ce que je peux enregistrer cette macro dans tout Excel pour pouvoir l'utiliser directement sans passer par cette ouverture de fichier ?
    Faire une sorte de macro générale en quelque sorte !

    Merci d'avance de votre aide

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour cela il faut utiliser un classeur suffixé xlam (macro complémentaire ou AddIn). Il y a d'autres possibilités mais celle-là est pour moi la meilleure option

    Voir mes billets sur le sujet
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    Merci pour la réponse !

    J'ai ouvert mon fichier xlsm et je l'ai exporté au format xlam.
    Ne trouvant pas mon fichier à l'endroit de mon fichier xlsm j'ai demandé à "l'enregistrer sous" avec le même nom et j'ai pu voir qu'il est en fait enregistré dans un dossier spécial lié aux addin Excel.
    J'ai fermé mon fichier xlsm et ouvert un autre classeur pour voir si je trouvais ma macro mais elle n'apparait pas. (menu Développeur puis bouton macro).
    En utilisant le bouton "Compléments Excel", je vois le nom de mon fichier d'origine en plus de "euro currency tools" et autre compléments disponibles. Je coche la case en pensant que ça rendra disponible les macros incluses dans mn fichier mais même en faisant ça, mes macros n'apparaissent pas dans la liste des macros disponibles.

    Si j'ouvre le code avec le bouton "Visual Basic", je vois bien une rubrique VBAProject dans laquelle il y a un module "Module1" dans lequel il y a le code de mes macros.

    Est-ce bien ce qui doit se passer ?
    Est-ce normal que mes macros n'apparaissent pas directement dans les macros disponibles ?
    Si non, est-ce qu'une solution complémentaire existe pour qu'elles apparaissent et soient accessibles directement ?

  4. #4
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    Précision: en suivant le tuto sur votre site, j'ai ajouté un bouton qui appelle la macro et ça fonctionne.
    Ma question concerne bien la liste des macros disponibles après clic sur le boutons "macros"

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    La Procédure est-elle bien déclaré en "Public" ? (Public Sub ou Public Function)

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    Elle ne l'était pas mais je viens de modifier et ça ne change rien.
    Ma macro pour normaliser les titres de colonnes n'apparait toujours pas dans les macros disponibles.
    Mais elle est bien présente dans VisualBasic dans VBAProject Module1 comme avant.

    Je viens de voir que si j'ouvre Excel, mon fichier xlam semble s'ouvrir parce que dans le répertoire dédié, je vois un fichier temporaire se créer qui disparait une fois que je referme Excel. L'addin est donc bien pris en compte à l'utilisation.

  7. #7
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,
    Citation Envoyé par Papy214 Voir le message
    J'ai créé une macro dans un fichier .xlsm . Elle prend les cellules de la première ligne et modifie les contenus selon certains critères.
    Quand je veux utiliser cette macro dans un autre fichier Excel, je dois d'abord ouvrir ce fichier.
    Cette macro à l'air d'être spécifique à un type de fichier particulier.
    Je pense qu'il faut éviter de créer des xlam pour des cas trop spécifiques.
    Ceci d'autant plus, que la conception d'une macro xlam nécessite un code adapté beaucoup plus rigoureux qu'une simple macro spécifique à un fichier particulier.

    Si il s'agit de répliquer une macro dans tous les fichiers du même type, un modèle (.xltm) me semble plus simple et plus adapté.

  8. #8
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    Citation Envoyé par Patrice740 Voir le message
    Bonjour,

    Cette macro à l'air d'être spécifique à un type de fichier particulier.
    Je pense qu'il faut éviter de créer des xlam pour des cas trop spécifiques.
    Ceci d'autant plus, que la conception d'une macro xlam nécessite un code adapté beaucoup plus rigoureux qu'une simple macro spécifique à un fichier particulier.

    Si il s'agit de répliquer une macro dans tous les fichiers du même type, un modèle (.xltm) me semble plus simple et plus adapté.
    En fait, je fais régulièrement des imports de données depuis des fichiers Excel client vers une base MySQL.
    Avant de faire l'import effectif, je nettoie les titres de colonnes pour enlever des accents, des symboles, etc.
    A chaque nouvel import, pour utiliser la macro depuis mon fichier , il faut que j'ouvre on fichier de macros pour les voir affichées dans les macros disponibles quand je clique sur le bouton macros.
    Je voulais les avoir toujours disponibles dans cette liste sans devoir à chaque fois ouvrir le fichier en question.
    Mais déjà, j'ai pu associer le code de la macro à un bouton sur la barre de commandes (grâce au tuto de Philippe Tulliez).
    C'est déjà bien.

    Après , j'ai aussi essayé d' utiliser ma macro depuis du code vba mais je n'ai pas réussi.
    Le nouveau message ici qui explique comment faire devrait résoudre le problème mais je verrai ça demain. :-)

  9. #9
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    Bonjour,
    Sauf erreur de ma part, la boîte de dialogue Macros n'affiche pas les procédures présentes dans un fichier xlam
    Comme expliqué ci-dessus, c'est une macro que j'utilise régulièrement pour nettoyer des fichiers de données à importer.
    Je regarderai demain votre méthode pour utiliser la macro dans du code vba.

    Merci

  10. #10
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Pourquoi ne pas raisonner à l'inverse.

    Mettez la macro dans votre fichier "base de donnée".
    Ajouter un bouton qui déclenche une macro qui
    1. Vous demande l'emplacement du fichier à ajouter à la BdD
    2. Traite les données du nouveau fichier et les incorpore dans votre Base


    Il y a peut-être même des possibilité avec powerQuery mais je ne l'utilise jamais et donc ne maitrise pas du tout le sujet.
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. [Toutes versions] Macro ouverture fichier Excel + formatage
    Par asengs dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/02/2011, 11h44
  2. [XL-2007] Macro sur Fichier Excel partage
    Par ropineau dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/06/2009, 16h25
  3. [XL-2007] Macro et fichier excel protéger
    Par firecarl dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/04/2009, 17h22
  4. [Excel & Macro] Attacher une macro à un fichier Excel
    Par Enthau dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/08/2008, 08h36
  5. attacher une macro à un fichier excel
    Par Baldric de Dol dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/05/2008, 16h16

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