Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Limiter un nombre de colonnes

Attila451

XLDnaute Occasionnel
Bonjour,
Je ne sais par quelle opération du st esprit, j'ai un tableur qui se retrouve avec des colonnes de A : XER ce qui complique un peu l'utilisation de la barre de défilement, mon tableau s'arrêtant en colonne AU...
Pareil pour les lignes ou il descend jusque 12000... Si je masque les colonnes, j'ai un message comme quoi l'opération risque d'être longue et le fichier plante. Pareil pour les filtres élaborés ou chaque requête prend tu temps...
Existe t-il une solution simple pour réduire la taille de la feuille ?
Merci d'avance pour vos lumières !
 

job75

XLDnaute Barbatruc
Re : Limiter un nombre de colonnes

Bonjour,

La feuille à nettoyer étant la feuille active, exécutez cette macro (à mettre dans VBA où vous voulez) :

Code:
Sub Nettoyage()
On Error Resume Next 'si la feuille est vide
With ActiveSheet
  .Rows(.[A1].Find("*", , xlFormulas, , xlByRows, xlPrevious).Row + 1 & ":" & .Rows.Count).Delete
  .Range(.Columns(.[A1].Find("*", , , , xlByColumns, xlPrevious).Column + 1), .Columns(.Columns.Count)).Delete
  With .UsedRange: End With 'actualise les barres de défilement
End With
End Sub
A+
 

Attila451

XLDnaute Occasionnel
Re : Limiter un nombre de colonnes

Bonjour,
Merci, euh... je pensais qu'il y avait un moyen plus simple (introuvable sans votre macro) pour re définir la plage, un peu comme quand on insère une zone d'impression.
Merci
 

job75

XLDnaute Barbatruc
Re : Limiter un nombre de colonnes

Bonjour,

D'après ce que j'ai compris votre fichier est vérolé par des choses (formats, textes vides "") conservées dans les plages inutilisées.

C'est pour cela qu'il faut les supprimer, il n'y a pas d'autre solution.

Voir touche F5 => Cellule => Dernière cellule, avant et après.

A+
 

Attila451

XLDnaute Occasionnel
Re : Limiter un nombre de colonnes

Bonjour,
Oui, vérolé est bien le mot. Autre soucis, j'avais pensé à supprimer les colonnes "en trop" mais j'ai un message me disant que le calcul va prendre plus de 60 sec et si oui, excel plante...
 

job75

XLDnaute Barbatruc
Re : Limiter un nombre de colonnes

Re,

Ma macro n'était pas correcte, il fallait utiliser :

Code:
Sub Nettoyage()
On Error Resume Next 'si la feuille est vide
With ActiveSheet
  .Rows(.Cells.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row + 1 & ":" & .Rows.Count).Delete
  .Range(.Columns(.Cells.Find("*", , , , xlByColumns, xlPrevious).Column + 1), .Columns(.Columns.Count)).Delete
  With .UsedRange: End With 'actualise les barres de défilement
End With
End Sub
Maintenant puisque la suppression de lignes et colonnes posent problème essayez pour voir :

Code:
Sub Effacement()
Application.EnableEvents = False 'au cas où...
On Error Resume Next 'si la feuille est vide
With ActiveSheet
  .Rows(.Cells.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row + 1 & ":" & .Rows.Count).Clear
  .Range(.Columns(.Cells.Find("*", , , , xlByColumns, xlPrevious).Column + 1), .Columns(.Columns.Count)).Clear
  With .UsedRange: End With 'actualise les barres de défilement
End With
Application.EnableEvents = True
End Sub
Si ça marche (mais ça m'étonnerait) on peut ensuite réessayer la 1ère macro.

A+
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…