Bonjour,
Dans le cadre de mon travail, je dois migrer une application VBA Excel d'un poste Windows 7 32bits (Dell XPS) avec Office 2010 32bits à un poste Windows 7 64bits (Dell Optiplex 7010).
Ayant lu sur certains forums qu'il était dans ce cas préferable de rester sur un Office 32 bits (et ayant moi-même pu constater en premier lieu les incompatibilités avec Office 2010 64bits), j'ai installé Office 2010 32bits sur le nouveau PC.
Hors, malgré cela, la macro ne tourne pas :
- à l'ouverture du fichier, j'ai déja 2 fois la warning box "Erreur de fichier : risque de perte de données" qui s'affiche
- puis, j'ai une warning box "Erreur d'execution '1004': Erreur définie par l'application ou par l'objet"
Je clique alors sur le bouton "Débogage" et j'atteri dans le code avec la ligne "Set G = S.Shapes(I).Chart" surligné en jaune.
Voici la partie de code en question :
N'ayant que des conaissances basiques en VBA, je ne pensais pas avoir à toucher au code pour effectuer cette migration...
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 Sub NouveauGraph() Dim S, W, G, I Set S = ThisWorkbook.Sheets(SHEETINSERT) Workbooks(WORKDATA).Sheets(SHEETINSERT).Select Set W = Workbooks(WORKDATA).Charts.Add W.Name = SheetGraph W.Move before:=Workbooks(WORKDATA).Sheets(1) W.ChartArea.Clear W.Location Where:=xlLocationAsObject, Name:=SHEETINSERT I = Int(Val(Replace(SheetGraph, SHEETREF, ""))) Set G = S.Shapes(I).Chart G.ChartArea.Left = 4# G.ChartArea.Top = 4# + (445 * (I - 1)) + 4 G.ChartArea.Width = 720# G.ChartArea.Height = 445# FormatGraph Exit Sub End Sub
Surtout que les versions d'Office utilisées sont les mêmes (Office Pro 2010 32bits).
Y a-t-il une option à paramétrer quelque part ?
Si non, d'où vient le problème ?
Vais-je devoir intervenir dans le code ?
Merci d'avance de vos réponses/conseils !!
Partager