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 :

Copie de feuilles et de macro.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut Copie de feuilles et de macro.
    Bonjour,

    Je développe actuellement un code VBA pour Excel qui copie une feuille de mon classeur principale dans un nouveau classeur et le sauvegarde. Le truc est que j'ai une macro dans la feuille Excel copié et lors de la copie, l'objet bouton est copié mais pas le code de la macro, la macro du nouveau classeur point vers le module du classeur principal. Vous suivez ?

    Avez-vous une solution pour copier le code concerné dans un module dans le nouveau classeur de façon à ce que si je donne mon nouveau classeur à quelqu'un sans le classeur principal ma macro fonctionne quand même ?

    Merci d'avance.

    Alvaten

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    c'est pas plus simple de faire un enregistrer sous et de supprimer toutes les feuilles sauf la principale ?

  3. #3
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut exportation module
    Bonsoir,

    Tu peux toujours exporter ta macro dans ton nouveau classeur
    Par exemple place ta macro seule dans un module nommé "modExport"

    ensuite la macro suivante
    Exportera le module modExport dans un fichier temporaire.
    Importera ce fichier temporaire dans le classeur actif.
    Supprimera le fichier temp



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub ExportationModule()
    Quoi = "modExport" ' remplace modExport par le nom du module à exporter
    ThisWorkbook.VBProject.VBComponents(Quoi).Export ("temp.bas")
    ActiveWorkbook.VBProject.VBComponents.Import ("temp.bas")
    Kill ("temp.bas")
    End Sub

  4. #4
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut
    Merci, le module à bien été copié, le problème c'est que mes macro pointe toujours sur le module du classeur principale et non vers leur propre module.

  5. #5
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour

    après avoir exporter ton module,

    tapes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      ActiveSheet.Shapes("Button 1").OnAction =  "taMacro"
    Ajuste le nom de ton bouton et de ta macro


    Salutations

  6. #6
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Par défaut
    Merci pour votre aide,

    j'ai juste du ajouter le nom de mon classeur pour que cela marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveSheet.Shapes("Button 1").OnAction = MonNouveauClasseur & "!MaMacro"

  7. #7
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut
    Merci fred65200 pour ton code simple, pur et rapide!

    Tout cela fonctionne parfaitement, alors que je cherchais depuis 1 heure...

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

Discussions similaires

  1. [XL-2007] Copie de feuille excel et macro
    Par guillaumemiragef1 dans le forum Excel
    Réponses: 3
    Dernier message: 18/03/2015, 16h26
  2. Problème lors de la 1ère utilisation d'une macro VBA pour copie de feuille
    Par youp_youp_ dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/06/2014, 10h54
  3. [XL-2003] Macro : copie de feuilles dans un autre classeur : problèmes graphs + divers
    Par gandalf20000000 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/10/2009, 10h52
  4. [VBA-E]copie de feuille excel
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2006, 14h20
  5. [VBA][Excel] Copie de feuille a l'identique
    Par le_sonic dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/01/2006, 16h48

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