Copier/coller tous les onglets d'un fichier

roulax

XLDnaute Nouveau
Bonjour à tous,

Je cherche à réduire la taille d'un fichier excel afin de l'envoyer par mail.
Pour cela, je voulais copier/coller valeurs tous les onglets de mon fichiers à l'aide d'une macro, avant de le sauvegarder avec un nouveau nom.
J'ai essayé avec le code suivant, mais il me supprime les onglets et ne copie rien.

PHP:
    Dim F As Worksheet
    Application.ScreenUpdating = False
    For Each F In Sheets
    F.Copy
    [A1].PasteSpecial xlValues
    Next F

Une idée ?
 

Pierrot93

XLDnaute Barbatruc
Re : Copier/coller tous les onglets d'un fichier

Bonjour,

essaye ainsi, si j'ai bien compris :

Code:
Option Explicit
Sub test()
Dim ws As Worksheet
For Each ws In Worksheets
    Cells.Copy
    Range("A1").PasteSpecial xlPasteValues
Next ws
ThisWorkbook.SaveAs "NouveauFichier.xls"
End Sub

bonne journée
@+
 

roulax

XLDnaute Nouveau
Re : Copier/coller tous les onglets d'un fichier

Re Pierrot93,

Merci pour ta réponse,
Tu as bien compris ma demande.
Ton code fonctionne, mais il y a des données dans les onglets qui ne sont pas copiées en valeurs.
Je ne sais pas pourquoi.
Au départ, je voulais ouvrir les feuilles les une après les autres pour effectuer le copier/coller, mais le nom de mes feuilles changent en fonction, donc ce n'est pas possible, enfin pour moi...
 

Pierrot93

XLDnaute Barbatruc
Re : Copier/coller tous les onglets d'un fichier

Re,

Aarf, autant pour moi, modifie ainsi :

Code:
Option Explicit
Sub test()
Dim ws As Worksheet
For Each ws In Worksheets
    ws.Cells.Copy
    ws.Range("A1").PasteSpecial xlPasteValues
Next ws
ThisWorkbook.SaveAs "NouveauFichier.xls"
End Sub

bon après midi
@+
 

aurelie278

XLDnaute Nouveau
Re : Copier/coller tous les onglets d'un fichier

Bonsoir

Je me permets de reprendre ce sujet car je cherche à faire la même chose.
Cependant, la macro ne marche pas car dans mes onglets j'ai des cellules fusionnées.
Savez-vous comment adapter le code pour que cela ne soit pas un point bloquant?

Merci beaucoup
Bonne soirée
Aurélie
 

Staple1600

XLDnaute Barbatruc
Re : Copier/coller tous les onglets d'un fichier

Bonsoir


Essaie ceci
Sub a() 'peut réserver des surprise inattendues ;)
Dim s As Worksheet
For Each s In Worksheets
With s.UsedRange
.Value = .Value
End With
Next s
End Sub

PS: C'est mieux de créer son propre fil, mais bon ici ta question enrichissant la première et les deux étant similaires, on fera semblant d'avoir rien vu ;)
 

Discussions similaires

Réponses
6
Affichages
449

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet