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 :

Copier un classeur et ouvrir sa copie afin d'y appliquer un code


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut Copier un classeur et ouvrir sa copie afin d'y appliquer un code
    Bonjour à tous,

    Je possède un classeur, servant de modèle. Ce modèle est répliqué environ une centaine de fois.

    Mon problème, c'est qu'une fois le classeur sauvé dans un dossier, il ne l'ouvre pas pour faire les modifications que j'aimerais lui apporter, voici la partie du code concernant cette partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Set fso = CreateObject("Scripting.FileSystemObject")
    Destination = "Table"
                    If Not fso.FolderExists(Destination) Then
                           fso.CreateFolder (Destination)
                    End If
                    Application.ActiveWorkbook.SaveCopyAs Filename:=Destination & "\" & nam & ".xlsm"
     
                            If ThisWorkbook.name <> "TablesTemplate.xlsm" Then
                                Call Replacecountries(ref, nam, nou)
                            End If

    Pour résumer, voici le processus que j'aimerais appliquer :
    1) ouvrir le modèle 2) le sauver dans un dossier 3) ouvrir la copie sauvé, y appliqué le code contenu dans "replacecountries (ref,nam,nou) 4) fermer la copie 5) repartir sur le numéro 1

    Pouvez-vous svp m'aider?

    Bonne fin de journée

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    code bon pour la poubelle car c'est du mauvais Copier / Coller !

    A partir du moment qu'un classeur est enregistré en tant que classeur modèle (format spécifique d'Excel .xlt ou .xltm),
    il suffit juste de l'ouvrir normalement puis de l'enregistrer via SaveAs, deux instructions suffisent ‼
    Et même pas besoin d'ouvrir la copie car elle est déjà active !

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Stockholm, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    with workbooks.add("c:\rep\fichier.xlsm")
    .saveas "c:\rep\fichier2.xlsx"
    .close false
    End with
    Édit:
    Tu as raison Marc {ActiveWorkbook}

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Ma remarque est effectivement valable pour les autres types de classeur
    à la condition que le code ne soit pas contenu dans le classeur "modèle" car là,
    c'est via SaveCopyAs puis ouverture normale de cette copie …

    Bref déjà en s'entraînant manuellement avant de coder quoi que ce soit,
    avec un peu de jugeote ce n'est vraiment pas compliqué …

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Bonsoir,

    Je conçois tout à fait que le code n'est pas optimale maintenant je ne suis pas programmeur, je fais ce que je peux...

    Le code est effectivement dans le modèle. J'ai essayé le code proposé ci-dessus mais cela ne fonctionne pas.

    Avez-vous d'autres suggestions ?

    Merci de m'aider, je galère !

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Sans savoir précisément « cela ne fonctionne pas » non car de notre côté cela fonctionne toujours bien …

    Et expliquer donc les tenants & aboutissants car on ne peut pas ouvrir le classeur exécutant déjà le code
    vu qu'il est déjà ouvert ‼     Lire le post #4 !   Juste une question de simple logique …
    S'entraîner déjà manuellement, après ce sera si simple !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Par défaut
    Cela ne fonctionne pas, bien entendu dans mon cas, je ne doute pas une seconde que ces commandes fonctionnement

    On est bien d'accord, d'ou le fait que j'essaie de copier le workbook actif :
    Application.ActiveWorkbook.SaveCopyAs Filename:=Destination & "\" & nam & ".xlsm"
    Ensuite j'aimerais ouvrir la copie mais je ne trouve pas la commande.

    Peut-être que je m'exprime mal...si je peux clarifier dites moi

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

Discussions similaires

  1. Copier un classeur avec ses macros
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/07/2008, 16h49
  2. [XP]copier plusieurs fichiers avec la commande copy
    Par Smip99 dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 16/06/2008, 19h35
  3. Copier plusieurs classeurs dans 1 seul
    Par iAlph dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/05/2008, 19h16
  4. Réponses: 2
    Dernier message: 15/02/2008, 09h24
  5. [VBA-E] Probleme avec l'activate d'un classeur ouvert pour un copy paste
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/08/2006, 22h31

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