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 :

definir un emplacement de Macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut definir un emplacement de Macro
    Bonjour,

    J'ai plusieurs fichiers excel contenant les memes macros.
    Quand je veux attribuer une de ces macros à un bouton,
    Il me prend la version de la macro contenu dans le fichier ouvert.
    c'est embetant car si ne peux ni renommer le fichier en question, ne le deplacer.

    Y aurait il un moyen pour dire à Excel de prendre la macro du fichier courant ?

    Merci d'avance.
    Flo

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

    Informations professionnelles :
    Activité : Engineering

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

    Si je comprend bien ta question, lorsque tu veux attribuer une macro à un bouton (je suppose un bouton inséré via le menu "Formulaires") tu as une fenêtre qui s'ouvre avec tes différentes macros. Dans le bas de cette fenêtre tu as un menu déroulant "Macro dans :" et là tu peux définir que tu veux attribuer une des macros de "ce classeur".

  3. #3
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut
    oui, mais non.

    quand j'attribue une macro a un bouton.
    dans le menu de personnalisation du bouton, tu as 'affecter une macro...'
    mais celle ci, lorsque je reouvre le menu, m'indique qu'il est le raccourci de 'NOMFICHIER.xls!MACRO

    ce que je veux pas car NOMFICHIER.xls doit rester au meme endroit et avec le meme nom.....

  4. #4
    Membre émérite
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Par défaut
    Bonjour,

    L'affectation de la macro sur le bouton pointe effectivement sur Nom_fichier.xls!macro1

    Cependant, si tu renommes le fichier ou si tu enregistres sous un autre nom. Le chemin d'affectation de ta macro se met à jour et prend le nom du nouveau fichier.

    Je viens d'essayer et ça le fait.

    Je ne comprends pas où cela coince pour toi.

  5. #5
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut
    quand j'affecte le bouton avec le fichier Ex8.xls, ca affecte sur le bouton au raccourci Ex8.xls!macro

    quand je modifie le nom, ca me dit qu'il ne trouve pas le fichier Ex8.xls.

    J'ai Excel 2000, je ne sais pas si ca joue...

    Merci
    Flo

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

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Etrange...! Ce que dit ouisansdoute est correct, tu peux renommer ou déplacer ton fichier la macro suit sans problème, sans ça il serait impossible de se transmettre des bouts de fichiers contenant des macros !! (cela n'a rien à voir avec la version d'Excel)

    Tu affectes à ton bouton une macro se trouvant dans un autre fichier ?

  7. #7
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut
    enfin, oui et non.
    En faite, il s'agit de la meme macro (meme nom) dans tous les fichiers concernés.
    Concernant le fichier. Je fait l'affectation du raccourci, quand Ex8.xls est ouvert.
    puis je renomme Ex8.xls en Ex9.xls (par exemple)
    quand j'ouvre Ex3.xls, ca me dit qu'il ne trouve pas Ex8.xls

    Merci de votre aide.

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

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Oui c'est bien ce que je disais, dans le classeur Ex3.xls, la macro affectée au bouton est celle du fichier Ex8.xls et non celle du fichier lui même

  9. #9
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut
    oui, mais donc y a t il un moyen que Excel prenne la macro qui est dans le fichier ouvert au lieu de prendre celle qui est dans un autre fichier (et donc vulnérable au déplacement/renommage/effacement) ?

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

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    A partir du moment où toi tu le définis...oui, retour à ma première réponse

  11. #11
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut
    je l'ai fais. :
    1 - ouvert Ex8.xls
    2 - défini macro au bouton (en mettant 'ce classeur').
    3 - fermé Ex8.xls
    4 - renommé Ex8.xls en Ex9.xls
    5 - ouvert Ex9.xls
    6 - appuyé sur le bouton de la macro
    7 - Meme probleme, il me dit qu'il ne trouve pas Ex8.xls......

  12. #12
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut
    Bon, j'ai trouvé un raccourci à mon problème.
    J'ai mis la macro dans un fichier à part et je pointe dessus comme ca c'est indépendant.

    Juste une derniere question :
    quand j'execute la macro, le fichier 'annexe' s'ouvre.
    Y a t il une commande VBA pour fermer un classeur avec un nom connu ?

    Merci encore

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

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Oui mais bon...c'est un plâtre sur une jambe de bois, ce n'est pas normal que la macro ne suive pas sinon on ferait comment pour se transférer des fichiers ? Il y a un binz mais je ne vois pas où.

    Concernant la fermeture d'un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("toto.xls").Close

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Je prends le relais de Fred, que je salue au passage.

    Si tu as plusieurs fichiers ouverts et que tu affectes une macro à un bouton, lorsque la fenêtre de choix de la macro s'ouvre, tu vois les différentes macros disponibles.

    Normalement, seules les macros venant d'autres fichiers que le fichier actif sont préfixées du nom du classeur.

    Il faudrait donc vérifier que tu sélectionnes bien une macro du classeur actif.

    Petite vérification à effectuer: La macro est-elle bien présente dans un module standard?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  15. #15
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut
    comment ca, un module standard ?

  16. #16
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    j'interviens
    Si tu veux que ta macro soit accessible sur tous les classeurs ,et sans se référer à un classeur particulier. Il faudrait qu'elle soit dans le classeur de macros personnelles ,et que tu affectes cette macro à un bouton de barre d'outils (le classeur copié n'embarque pas de macros ) Sinon effectivement le bouton prends la macro du classeur d'origine en cas de copie il faut à chaque fois réaffecter les macros aux boutons
    Daranc

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut
    Je confirme ce problème. Lorsqu'on affecte une macro à un bouton, Excel enregistre le chemin et nom du classeur contenant la macro, même si c'est le même.
    C'est totalement absurde car dès lors qu'on déplace le fichier, le chemin change et du coup, les boutons ne fonctionnent plus car il faut réaffecter les boutons...

    L'astuce que j'ai trouvé, c'est de faire une procédure de ré-affectation des boutons et/ou menus à l'ouverture du classeur.

  18. #18
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 203
    Billets dans le blog
    2
    Par défaut
    Bonjour à tous,

    ça dépend peut-être de la version d'Excel parce que moi, sur Excel 2003, je n'arrive pas à reproduire

    Je peux renommer le fichier comme je veux, dès que je le réouvre il me lance correctement la macro

    Mais il est vrai que le nom du fichier a l'air d'être associé au bouton

    Pour un Bouton de la feuille de calcul qui s'appelle "Bouton 1" par exemple, (créé par barre d'outils Formulaires)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ActiveSheet.Shapes("Bouton 1").OnAction
    renvoie bien le "nom du fichier"!"nom de la macro", mais comme dit par ouisansdoute,

    Cependant, si tu renommes le fichier ou si tu enregistres sous un autre nom. Le chemin d'affectation de ta macro se met à jour et prend le nom du nouveau fichier.
    sauf pour un bouton de la barre d'outils... mais ceux-ci ne sont pas stockés dans le fichier contenant la macro, ceci expliquant celà

  19. #19
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 566
    Par défaut
    Bonjour

    J'ajoute mon grain de sel.

    Effectivement il y a une différence entre les boutons posés dans le classeur et ceux posés dans une barre d'outils et pour ces derniers une différence selon que l'on fait enregistrer-sous, un autre nom ou ailleurs, ou qu'on modifie nom ou emplacement du fichier depuis l'explorateur Windows.

    Le mieux si les boutons sont dans les barres d'outils, c'est de mettre le code soit dans perso.xls comme suggéré par Daranc, soit de créer un ficher .xla ayant sa propre barre d'outils (qu'il vaut mieux effacer à la fermeture du classeur car sinon une copie reste et les mêmes problèmes risquent de se reproduire si on renomme le fichier xla ou s'il est fermé).

Discussions similaires

  1. [OL-2007] emplacement des macros vba ?
    Par amaphoto dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 10/11/2012, 22h57
  2. Réponses: 5
    Dernier message: 15/12/2009, 15h28
  3. [WD-2007] definir un emplacement de sauvegarde selon modele utilisé
    Par cybernini230 dans le forum Word
    Réponses: 1
    Dernier message: 20/11/2009, 10h18
  4. Definir l'emplacement d'une infobulle
    Par Teugos dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 03/10/2006, 10h28

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