Copie de plusieurs feuilles (juste les valeurs) dans un classeur pour chacune.

Xipotera

XLDnaute Nouveau
Bonjour, grâce à la macro suivante, je copie l'ensemble des feuilles de mon classeur dans un classeur par feuille. Jusqu'ici tout va bien, par contre j'aimerais ne copier que les valeurs de ces feuilles et non les formules.

Code:
Sub CopieFeuille()

For Each sh In ActiveWorkbook.Sheets

  sh.Copy
  ActiveWorkbook.SaveAs "X:\00-Databases\" & sh.Name
  ActiveWorkbook.Close
Next


End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Copie de plusieurs feuilles (juste les valeurs) dans un classeur pour chacune.

Bonjour,

essaye peut être ainsi :
Code:
For Each sh In ActiveWorkbook.Sheets
  sh.Copy
  ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
  ActiveWorkbook.SaveAs "X:\00-Databases\" & sh.Name
  ActiveWorkbook.Close
Next

bonne journée
@+
 

Xipotera

XLDnaute Nouveau
Re : Copie de plusieurs feuilles (juste les valeurs) dans un classeur pour chacune.

Merci à tous les deux pour vos réponses rapides.

la solution de Pierrot93 fonctionne nikel et est super rapide voire instantanée. par contre celle de Dranreb est beaucoup plus longue. Quoiqu'il en soit encore merci de vous etre penché sur mon problème.

Cordialement
 

Pierrot93

XLDnaute Barbatruc
Re : Copie de plusieurs feuilles (juste les valeurs) dans un classeur pour chacune.

Re, bonjour Bernard

oui, normal "usedrange" n'agit que sur la plage de cellules utilisées, alors qu'avec la propriété "cells" toutes les cellules de la feuilles de calcul sont traitées....
 

Discussions similaires

Statistiques des forums

Discussions
312 451
Messages
2 088 519
Membres
103 875
dernier inscrit
Farouka