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 :

VBA - Saveas ne fonctionne pas ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 24
    Par défaut VBA - Saveas ne fonctionne pas ?
    Bonjour à tous,

    Voici mon problème. En XL-2003, je propose une mise à jour auto (via réseau) d'une macro complémentaire.
    Pour se faire, le principe est de faire un "enregistrer sous" vers un autre nom de la macro courante, puis de copier la nouvelle version dans le dossier addin du poste en local (pour remplacer la version courante)
    Pour se faire, voici le code (qui fonctionne très bien en XL-2003) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Kill "ma_macro(old).xlam"
    ThisWorkbook.SaveAs "ma_macro(old).xlam", FileFormat:=xlOpenXMLAddIn ' <-- la macro courante change de nom en XL-2003
    FileCopy NetworkPath & "ma_macro.xlam", Macro.FullName
    Le problème en XL-2007, c'est qu'à l'execution du saveas, la macro courante ne change pas de nom et du coup, l'instruction FileCopy génère une erreur (70) puisque le fichier est utilisé par Excel....

    Comment puis je contourner ce problème ?

    Merci par avance.

  2. #2
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Par défaut
    Salut,

    J'ai été confronté au même problème que toi, et j'ai trouvé la solution:
    remplace xlOpenXMLAddIn par xlOpenXMLWorkbookMacroEnabled.
    Avec cette option, la fonction SaveAs fonctionne correctement, c'est-à-dire que ta macro en cours d'exécution est bien renommée, ce qui te permet de créer un nouveau fichier ayant le nom initial de ton add-in. Et lors du prochain lancement d'Excel, le nouvel add-in est exécuté, ne reste plus qu'à effacer ma_macro(old)...

Discussions similaires

  1. [XL-2003] MFC - VBA -Macro ne fonctionne pas
    Par jorisphi dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 07/01/2010, 12h22
  2. [VBA] Quit ne fonctionne pas toujours
    Par LordTal dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/02/2008, 05h39
  3. [VBA-E] Undo après action bouton ne fonctionne pas
    Par TicTacToe dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/04/2006, 12h53
  4. [VBA-E]Select case qui ne fonctionne pas :(
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 31/01/2006, 12h13
  5. VBA/97/xl->REPT("z",10) ne fonctionne pas, une
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/12/2005, 17h08

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