code qui fonctionne en pas a pas , mais pas en automatique

guigol

XLDnaute Junior
Bonsoir

Ci-dessous, mon code.
Lorsque je le fais tourner en pas à pas (F8), il fonctionne sans problème.
Il sélectionne tous les objets de mon fichiersource et les copie dans le fichier créé au bon emplacement.

Lorsque je le lance avec F5, toutes les opérations semblent fonctionner (ouverture, fichier, créattion fichier, selection des objets) sauf la dernière : la copie des objets dans le nouveau fichier.

une idée?

Par avance, merci

Code:
Sub CopieObjets()
  'ouvre le classeur...
  Workbooks.Open ("d:\fichiersource.xlsx")
  Nom_Fichier_Source = ActiveWorkbook.Name
  Workbooks.Add (1)
  Nom_Fichier_Final = ActiveWorkbook.Name
   
  Workbooks(Nom_Fichier_Source).Sheets(1).DrawingObjects.Select
  Selection.Copy
  Workbooks(Nom_Fichier_Final).Activate
  Range("A62").Select
  Workbooks(Nom_Fichier_Final).Sheets(1).Paste

End Sub
 

mutzik

XLDnaute Barbatruc
bonjour

si le but est d'ouvrir un nouveau fichier qui est la copie du fichier 'fichiersource', alors sauvegarde ce fichier en fichier portant l'extension '.xlts' ou '.xltm' s'il comporte des macros.
Chaque fois que tu ouvriras ce fichier source, il va en créer une copie (conforme à l'original) qu'il faudra sauvegarder sous ...
Le fichier source est immédiatement refermé
 

guigol

XLDnaute Junior
Merci Bertrand, mais c'est un peu plus complexe que cela.
je n'ai extrait ici qu'une partie du code qui pose probleme.

ma macro complète :
1 - crée un fichier destination a partir d'un modele (mise en page, couleur, ...)
2 - ouvre le fichier source.
3 - prend des éléments du fichier source et les copie dans le fichier destination.
4 - prend les photos, les formes (flèches) du fichier source et les copie dans le fichier destination
5 - referme le fichier source (sans l'enrregistrer)
6 - ferme le fichier destination et l'enregistre avec un nom spécifique
7 - puis recommence avec le fichier suivant (parfois 1000 fichiers a traiter)


c'est vraiment au niveau de l'étape 4 que cela bugue
 

mutzik

XLDnaute Barbatruc
re,
d'accord avec toi, c'est ce que fait exactement le fichier xltm
il faut créer un fichier récap qui :
- ouvre le fichier xltm source = crée une copie de ce ficher (pas besoin de copier les éléments ...)
- sauvegarde ce fichier avec ce nom spécifique (qui vient de ... ?)
puis ton étape 7 = mon étape 1
 

Discussions similaires


Haut Bas