Fichier Lourd

amoadam

XLDnaute Nouveau
Bonjour à toutes et tous,
J'ai 25 fichiers avec un onglet par fichier.
J'ai créer un fichier dans lequel j'importe ces onglets dans un seul fichier. Cela fait donc un fichier avec 25 onglets.
J'ai fait cette importation en faisant un copie collé simple par macro. Au final mon fichier est énorme + de 100Mo alors qu'il n'y a aucune formule et aucun TCD juste des donnés simples.
Quelqu'un pourrait-il me dire ce qui explique le phénomène ?
Quand je le fait manuellement, je n’atteins pas ce poids pour le fichier bien loin de là.

Je vous remercie pour votre aide.

Amaury
 

amoadam

XLDnaute Nouveau
Re : Fichier Lourd

Effectivement il s'agit bien d'un copié de toute la feuille.

Voici la macro :

ChDir "I:\LO"
Workbooks.Open Filename:="I:\LO\LEIxx.csv"
Columns("A:I").Select
Selection.Copy
Windows("LEIvierge.xlsm").Activate
Sheets("DR02").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1").Select
Windows("LEIxx.csv").Activate
ActiveWindow.Close

C'est quoi l'histoire du "usedrange" ? cca me plait bien !! ;-)
 

Misange

XLDnaute Barbatruc
Re : Fichier Lourd

Effectivement il s'agit bien d'un copié de toute la feuille.
C'est quoi l'histoire du "usedrange" ? cca me plait bien !! ;-)

La touche F1 est ton amie :)
Je te laisse regarder

une macro pour sélectionner le used range effectif
Code:
Sub VraiUsedRange()   
Range("A1").Resize(Cells.Find(What:="*", SearchOrder:=xlRows, _
       SearchDirection:=xlPrevious, LookIn:=xlValues).Row, _
       Cells.Find(What:="*", SearchOrder:=xlByColumns, _
       SearchDirection:=xlPrevious, LookIn:=xlValues).Column).Select 
End Sub

le même mais qui sélectionne les cellules contenant des formules renvoyant "" si tu as besoin de les sélectionner également

Code:
Sub VraiUsedRange2()   
Range("A1").Resize(Cells.Find(What:="*", SearchOrder:=xlRows, _
       SearchDirection:=xlPrevious, LookIn:=xlValues).Row, _
       Cells.Find(What:="*", SearchOrder:=xlByColumns, _
       SearchDirection:=xlPrevious, LookIn:=xlformulas).Column).Select 
End Sub
 

amoadam

XLDnaute Nouveau
Re : Fichier Lourd

Je te remercie. Ca fonctionne bien !!

Connaissez-vous le moyen maintenant que ça réponde "NON" au message :
"Le Pesse-Papiers contient une rande quantité d'infomation. Voulez vous avoir la possibilité de coller ces infomations dans un autre document ultérieurement ?"



La touche F1 est ton amie :)
Je te laisse regarder

une macro pour sélectionner le used range effectif
Code:
Sub VraiUsedRange()   
Range("A1").Resize(Cells.Find(What:="*", SearchOrder:=xlRows, _
       SearchDirection:=xlPrevious, LookIn:=xlValues).Row, _
       Cells.Find(What:="*", SearchOrder:=xlByColumns, _
       SearchDirection:=xlPrevious, LookIn:=xlValues).Column).Select 
End Sub

le même mais qui sélectionne les cellules contenant des formules renvoyant "" si tu as besoin de les sélectionner également

Code:
Sub VraiUsedRange2()   
Range("A1").Resize(Cells.Find(What:="*", SearchOrder:=xlRows, _
       SearchDirection:=xlPrevious, LookIn:=xlValues).Row, _
       Cells.Find(What:="*", SearchOrder:=xlByColumns, _
       SearchDirection:=xlPrevious, LookIn:=xlformulas).Column).Select 
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Fichier Lourd

Bonjour à tous

Effectivement il s'agit bien d'un copié de toute la feuille.
Dans ce cas, pourquoi ne pas faire l'équivalent en VBA de (Clic-droit sur onglet Déplacer ou copier / [X] Créer une copie
Voir exemple ci-dessous
Code:
Sub Macro1()'code issu de l'enregisteur de macros
Sheets("XXXXX").Select
Sheets("XXXXX").Copy Before:=Workbooks("Classeur2").Sheets(1)
End Sub
A adapter à ta problématique.
 

Docmarti

XLDnaute Occasionnel
Re : Fichier Lourd

Bonjour Misange

Dans le code suivant, tu veux probablement mettre

Code:
LookIn:=xlformulas).Row, _

Code:
Sub VraiUsedRange2()   
Range("A1").Resize(Cells.Find(What:="*", SearchOrder:=xlRows, _
       SearchDirection:=xlPrevious, LookIn:=xlValues).Row, _
       Cells.Find(What:="*", SearchOrder:=xlByColumns, _
       SearchDirection:=xlPrevious, LookIn:=xlformulas).Column).Select 
End Sub


Cordialement

Docmarti
 

Discussions similaires

Réponses
1
Affichages
395

Statistiques des forums

Discussions
312 505
Messages
2 089 094
Membres
104 029
dernier inscrit
Neozz14