J'ai tenté de faire fonctionner sous Vista avec Office 2007 mes macros VBA qui fonctionnent bien sous Windows XP et Excel de 97 à 2003 . J'ai identifié le problème suivant :
Lors de la copie de feuilles d'un classeur dans un autre, le codename des feuilles copiées était modifié (il devenait un codame par défaut). Ceci ne se produit pas en mode pas à pas ni si, avant de lancer la macro, on efface un caractère quelconque dans la macro et on le tape aussitôt. J'ai simplifié mon problème dans la macro ci-dessous.
Le workbook "Origine" avait deux feuilles dont les codenames avaient été personnalisés et le workbook "Destination" avait 1 feuille visible nommée "Provisoire" et 2 feuilles "veryhidden" (la première avait un codename par défaut et les dernières personalisées mais si toutes sont personnalisées le problème persiste).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Dim wbkDestination As Workbook, wbkOrigine As Workbook, Rep As String, NomFichier As String Sub VerifCodeName() Rep = ThisWorkbook.Path & Application.PathSeparator NomFichier = Rep & "Destination.xls" Set wbkDestination = Application.Workbooks.Open(Filename:=NomFichier) NomFichier = Rep & "Origine.xls" Set wbkOrigine = Application.Workbooks.Open(Filename:=NomFichier) wbkOrigine.Worksheets.Copy before:=wbkDestination.Worksheets("Provisoire") Set wbkOrigine = Nothing Set wbkDestination = Nothing End Sub
L'ordinateur sur lequel j'ai fait le test n'était pas le mien et j'ai peu de temps pour faire mes tests. J'ai tout de même tenté de vérifier les versions de Vista et d'office. Il me semble que Vista est le Vista de base avec certains correctifs microsoft (tous ?), je n'ai pas trouvé comment accéder à la version d'Office (français).
Est-ce un bogue Vista, Office 2007 ? Avez-vous une idée pour contourner le problème ?
Partager