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 :

Utiliser une macro universelle


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 156
    Points : 110
    Points
    110
    Par défaut Utiliser une macro universelle
    Bonjour à tous,

    Je cherche un moyen d'utiliser une même macro qui puisse être utilisé par plusieurs fichiers Excel: l'idée est de faire référence à des pages ou des cellules "relatives" d'autres fichiers et non pas des référence absolues.
    Ceci servirait à éviter la répétition de macros dans plusieurs fichiers et d'en avoir qu'un seul qui puisse être lancé pour plusieurs fichiers externes.
    J'espère avoir été assez clair, si personne n'a une idée, un tutorial sur la gestion des macros pourrait faire l'affaire.

    Merci d'avance,

    Nicolas

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu as deux solutions : Ou tu places ta macro dans un fichier que la coutume veut qu'on nomme Perso.xls, fichier que tu places dans "C:\Program Files\Microsoft Office\Office XX.X\XLOuvrir" ou "C:\Program Files\Microsoft Office\Office10\XLStart" selon ta version d'Excel,
    Ou tu crées un .xla que tu valides dans Excel -> OUtils -> Macros complémentaires.
    Dans les deux cas tes macros seront accessibles depuis tous les fichiers ouverts.
    Pour plus de facilité, le .xla est à enregistrer dans C:\Program Files\Microsoft Office\Office XX.X\Macrolib
    Bon après-midi

  3. #3
    Membre régulier
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 156
    Points : 110
    Points
    110
    Par défaut
    Entendu, merci!
    Sinon, est-ce possible d'appeler un module externe avec une référence à une page du workbook qui l'appelle (un appel du type Sheets(1))? En effet, une erreur 1004 apparaît et l'instruction Sheets(1) ne marche qu'a l'intérieur de la feuille Excel (Workbook).

  4. #4
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonjour,

    Nico820

    suffit de passer la feuille en paramétre à ta fonction ...

    par exemple dans un classeur1.xls la macro de traitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Sub TraiteFeuille(sh As Worksheet)
      sh.Range("A1") = "Traitement feuille"
    End Sub

    et l'appel dans le classeur à traiter :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub Lce()
     Application.Run "Classeur1.xls!TraiteFeuille", ActiveSheet
    End Sub


    Tu peu aussi ne mettre aucun code dans le classeur à traiter, et dans ton classeur macro permettre à l'utilisateur de choisir la feuille à traiter, où lancer la macro sur la feuille active...

    donc les possibilités sont multiples et pour t'aider la dessus faudrai savoir comment tu compte lancer ta macro , et ce qu'elle fait en gros..
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  5. #5
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Tu as deux solutions : Ou tu places ta macro dans un fichier que la coutume veut qu'on nomme Perso.xls, fichier que tu places dans "C:\Program Files\Microsoft Office\Office XX.X\XLOuvrir" ou "C:\Program Files\Microsoft Office\Office10\XLStart" selon ta version d'Excel,
    Ou tu crées un .xla que tu valides dans Excel -> OUtils -> Macros complémentaires.
    Dans les deux cas tes macros seront accessibles depuis tous les fichiers ouverts.
    Pour plus de facilité, le .xla est à enregistrer dans C:\Program Files\Microsoft Office\Office XX.X\Macrolib
    Bon après-midi
    Bonjour,
    Les macro complémentaires n'ont-elles pas besoin d'être 'activées' ou 'installées' pour être accessibles ?
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par ousk'
    Ou tu crées un .xla que tu valides dans Excel -> OUtils -> Macros complémentaires.
    ou
    Citation Envoyé par ousk' dans une réponse à l'une de tes questions
    Il apparaîtrait dans les macros complémentaires si tu le places dans "C:\Program Files\Microsoft Office\Office XX\Macrolib" et il suffirait à l'utilisateur de le valider -> Outils -> Macros complémentaires
    Bonne nuit

  7. #7
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    D'où le besoin de le préciser lorsque tu affirmes que les macros seront accessibles depuis tous les fichiers ouverts : seulement si elles ont été validées.

    Pour mon cas personnel, c'est bloquant par exemple.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

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

Discussions similaires

  1. utiliser une macro sur plusieurs fichiers
    Par papimcha dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 25/04/2008, 16h23
  2. utiliser une macro partout
    Par mhamedbj dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/09/2007, 09h09
  3. Utiliser une macro Excel sous access
    Par Manu59410 dans le forum VBA Access
    Réponses: 6
    Dernier message: 28/08/2007, 09h08
  4. [VBA] utiliser une macro contenue dans un autre classeur
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 01/02/2006, 18h46
  5. Macro utilisant une macro...
    Par Gogoye dans le forum C
    Réponses: 2
    Dernier message: 29/10/2003, 14h22

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