Réduire la taille d'un fichier

Bonjour,

Via une macro, cela crées des fichiers avec des données sélectionnées.

Par contre le fichier, une fois crée est très lourd et long à s'ouvrir (40 000 KO).

Je ne comprend pas, car il y seulement une petite base de données avec un TCD.

Si je copie/coller manuellement sur un nouveau fichier c'est pas du tout la même taille (100 KO)

Avez-vous une idée du problème ?

Merci de votre aide.

Valérie

Bonjour,

Ton fichier a quelle extension ? xls ou xlsm ?

As-tu des lignes vierges jusqu'à 1.000.000, idem pour les colonnes ? cela se voit en déroulant les curseurs.

Merci, c'est exactement ça !

Ci-dessous la ligne qui me pose problème :

Sheets("DONNEES").Range("A:M").Name = "ALLDATA"

Comment juste sélectionner le tableau dans l'onglet ?

Essai échec :

Sheets("DONNEES").Range("A1").Selection.End(xlToRight).Selection.End(xlToDown).Name = "ALLDATA"

Merci de votre aide,

Sans fichier, je ne suis pas sûr de pouvoir te répondre.

Si le tableau fait 1.000.000 de lignes, je ne sais pas a priori comment ne sélectionner que la partie utile.

J'ai aussi essayée ça :

Sheets("DONNEES").Range("A1").CurrentRegion.Address.Name = "ALLDATA"

Sheets("DONNEES").Range("A1").End(xlDown).End(xlToRight).Name = "ALLDATA"

Le deuxième essai : ça me sélectionne uniquement la celulle de la dernière colonne et ligne par rapport à A1

Les lignes varient en fonction d'une extraction. Parfois ça peut être 15 lignes, 50 lignes etc...

Enfaite ça serait de se positionner sur la cellule A1 et de sélectionner la dernière ligne et colonne ?

Bonjour,

Un exemple !?

Cdlt.

Public Sub Saaku()
Dim wb As Workbook
Dim ws As Worksheet
Dim lastCol As Long, lastRow As Long

    Set wb = ActiveWorkbook
    Set ws = wb.Worksheets("Données")
    lastCol = ws.Cells(1, Columns.Count).End(xlToLeft).Column
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    ws.Cells(1).Resize(lastRow, lastCol).Name = "AllData"

End Sub

Hello,

J'ai adapté le code a mon fichier, cela ne marche pas :'(

Sans élément supplémentaire cela va être difficile.

Tu peux envoyer via mp avec un lien externe (bientôt supprimé).

Ou alors une photo de la dernière colonne et dernière ligne ... en faisant glisser les curseurs en bas et à droite.

Que donne ceci :

    lastCol = ws.Cells(1, 1).End(xlToRight).Column
    lastRow = Cells(1, 1).End(xlDown).Row

Bonjor,

Bonjour Steelson,

Cela ne marche pas n'est une réponse valide.

Cdlt.

Bonjour saaku, bonjour à tous,

pourquoi ne pas supprimer les lignes et colonnes vide ?

... ou recopier la seule partie utile dans un nouvel onglet, cela résout souvent ce genre d'affaires.

Je suis d'accord avec la remarque de Jean-Eric ...

Hello,

Finalement, ça marche ! J'ai refait, j'ai dû fait une erreur de frappe quand j'ai essayé

lastCol = Sheets("DONNEES").Cells(1, Columns.Count).End(xlToLeft).Column

lastRow = Sheets("DONNEES").Cells(Rows.Count, 1).End(xlUp).Row

Sheets("DONNEES").Cells(1).Resize(lastRow, lastCol).Name = "ALLDATA"

Merci à tous =)

Rechercher des sujets similaires à "reduire taille fichier"