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 !!!