bonjour à tous
n'ayant pas trouvé la solution dans les posts de ce forum je vous soumet mon problème sous PC / excel 2003
dans un fichier nommé SPA.xls, je récupère les infos de plusieurs autres fichiers
sans ouvrir ces fichiers je copie la plage A3:A0150 onglet "unite" des fichiers 1.xls, 2.xls etc
je colle les valeurs dans l'onglet unité du fichier SPA.xls
le problème avec mon code c'est que j’obtiens un collage avec liaison et je suis obligé de faire un copier/coller spécial valeurs pour avoir un fichier autonome au final
si vous connaissez un code "plus propre" je suis preneur, sachant que je vais répéter ce copier coller à partir de 6 fichiers au total, et qu'actuellement mon code me colle également des Zéro pour les cellules vides ...pas très propre au final
ci dessous la méthode que j'emploie , si vous avez des propositions d'autres méthodes je vous en remercie par avance
-------------------------------
Sub test2()
'je définie la destination et la source des cellules sans ouvrir les fichiers
Workbooks("00-SPA.xls").Sheets("unite").Range("A3:AO110").Value = "='F:\test\[1.xls]unite'!A3"
Workbooks("00-SPA.xls").Sheets("unite").Range("A113:AO243").Value = "='F:\test\[2.xls]unite'!A3"
Workbooks("00-SPA.xls").Sheets("unite").Range("A244:AO354").Value = "='F:\test\[3.xls]unite'!A3"
'je transforme le collage avec liaison (pas fonctionnel) par collage des valeurs
Range("A3:AO354").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'des zeros apparaissent en plus si vous avez la solution pour ne prendre que les cellules contenant une valeur lors de la copie
End Sub
-------------------------------------
merci par avance pour votre aide