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 :

Mise à jour auto de macro complémentaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 24
    Points : 24
    Points
    24
    Par défaut Mise à jour auto de macro complémentaire
    Bonjour à tous !!

    Au boulot, nous venons (enfin!) de migrer de office 2003 vers office 2007..

    Bon, j'ai une macro qui installe une barre d'outils dans Excel avec une gestion de mise à jour distribuée par le réseau.
    Je suis en train de porter cette macro de 2003 vers 2007 et je tombe sur un os.....

    Voici le code que j'utilise sous 2003 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Public Const NomFichierXLA As String = "ma_barre.xlam"
    Public Const BarreOutils As String = "Ma Barre d'Outils"
    
    Public Sub InstallToolsBar()
       ' Variables
       Dim libPath As String
       
       ' Ajout de la Macro Complémentaire
       On Error Resume Next
       libPath = Application.UserLibraryPath
       If Right(libPath, 1) <> "\" Then libPath = libPath & "\"
       ThisWorkbook.IsAddin = True '<-- Définition macro complémentaire (XLAM)
       ThisWorkbook.SaveAs Filename:=libPath & NomFichierXLA
       If Err.Number > 0 Then
          MsgBox "Installation """ & BarreOutils & """ :" & vbCrLf _
             & "- Erreur n°" & Err.Number & " : " & Err.Description & vbCrLf _
             & vbCrLf & "Traitement interrompu...", vbCritical, BarreOutils
       Else
          Workbooks.Add
          Application.AddIns.Add(libPath & NomFichierXLA).Installed = True
          MsgBox "Installation """ & BarreOutils & """ :" & vbCrLf _
             & "- La barre d'outils à été installée avec succès !" & vbCrLf _
             & vbCrLf & "Traitement terminé...", vbInformation, BarreOutils
          ThisWorkbook.Close
       End If
    End Sub
    La ligne en rouge me génère l'erreur n°1004 ("Impossoble d'utiliser cette xtension avec le type de fichier sélectionné. Modifiez l'extension du fichier dans la zone de texte Nom de fichier ou sélectionnez un autre type de fichier dans la zone Type de fichier.")

    Cette manip pour passer un xls en xla fonctionne très bien avec XL-2003....

    Si quelqu'un a une idée, je suis preneur !!!!!

    Merci par avance !!!!!!!

    ===== EDIT =====
    J'ai trouvé la solution pour ce problème.... Il faut préciser le type de fichier à la sauvegarde !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       ThisWorkbook.SaveAs Filename:=libPath & NomFichierXLA, FileFormat:=xlOpenXMLAddIn
    ======================

    Par contre, j'ai un autre soucis à la mise à jour en automatique (distribution via un serveur), je n'arrive pas à remplacer le fichier dans le répertoire addin... Ce code fonctionne sous Excel 2003 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    .......
                   If retMsgBox = vbYes Then
                      ' Sauvegarde de l'ancienne version
                      Kill Left(Macro.FullName, Len(Macro.FullName) - 5) & "(old).xlam"
                      ThisWorkbook.SaveAs Left(Macro.FullName, Len(Macro.FullName) - 5) & "(old).xlam", FileFormat:=xlOpenXMLAddIn
                      Err.Clear
                      ' Installation de la mise à jour
                      FileCopy NetworkPathTmp & NomFichierXLA, Macro.FullName
                      If Err.Number = 0 Then
                         MsgBox "Barre d'outils """ & BarreOutils & """ :" & vbCrLf _
                            & "- La mise à jour a été effectuée avec succès. Veuillez " & vbCrLf _
                            & "redémarrez Excel pour qu'elle soit effective." & vbCrLf, _
                            vbInformation + vbOKOnly, BarreOutils
                      Else
                         MsgBox "Une erreur s'est produite lors de l'installation :" & vbCrLf _
                            & "- Erreur n°" & Err.Number & " : " & Err.Description & vbCrLf _
                            & vbCrLf & "Traitement interrompu...", vbCritical, BarreOutils
                      End If
                   Else
                      MsgBox "Barre d'outils """ & BarreOutils & """ :" & vbCrLf _
                         & "- La prochaine vérification aura lieu dans " & NbJourChkIn & " jours !" _
                         & vbCrLf, vbExclamation + vbOKOnly, BarreOutils
                   End If
                End If
             End If
             Exit For
          End If
       Next Macro
       CheckVersion = Err.Number
       Set Fso = Nothing
       Set Macro = Nothing
    End Function
    La ligne en rouge me génère l'erreur n°70 (Permission refusée)

    Est ce que quelqu'un aurait une solution à me proposer....??

    Merci à tous par avance !!!

  2. #2
    Futur Membre du Club
    Femme Profil pro
    Consultant marketing
    Inscrit en
    Juin 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant marketing

    Informations forums :
    Inscription : Juin 2015
    Messages : 13
    Points : 9
    Points
    9
    Par défaut La même... mais en 2016 ! :)
    Bonjour,

    Je me permets de remonter ce post qui date... mais j'ai le même soucis depuis une mise à jour Office.
    J'étais sous Office 2013 et la mise à jour auto de mon add-in fonctionnait très bien jusqu'à une petite mise à jour Office et voilà que j'ai l'erreur 70.

    Comment as-tu solutionné ce problème ?
    Peut-être que ta solution de 2011 sera toujours applicable en 2016 !

    Merci.

    Milkamelia

Discussions similaires

  1. retirer l'alerte de mise à jour auto
    Par gretch dans le forum Windows XP
    Réponses: 2
    Dernier message: 09/10/2006, 09h35
  2. Mise à jour auto d'un site web, comment ?
    Par 123quatre dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 27/08/2006, 19h38
  3. Mise à jour auto MIDlet possible ?
    Par infotron dans le forum Java ME
    Réponses: 7
    Dernier message: 27/07/2006, 14h18
  4. [MS-DOS] Une commande DOS pour activer les mises à jour auto
    Par Furius dans le forum Scripts/Batch
    Réponses: 20
    Dernier message: 02/12/2005, 16h21
  5. Mise à jour auto champs date
    Par rodrigue50 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/07/2005, 17h03

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