Supprimer lignes et colonnes.

Tweelight

XLDnaute Nouveau
Bonsoir,
Je me permets de poster ici afin de savoir ce qui cloche dans ma macro.
Je me suis servi d'une macro trouvée ici même:
Sub SupLignVides()
Dim Derlign As Long
Derlign = ActiveSheet.UsedRange.Rows.Count
Rows(Derlign + 1 & ":65536").Delete
End Sub
:) Merci...
Pour créer celle-ci:
Sub SupLignVides()
Dim Derlign As Long
Derlign = ActiveSheet.UsedRange.Rows.Count
Rows(Derlign + 1 & ":65536").Delete
' colonne
Dim Dercol As Long
Dercol = ActiveSheet.UsedRange.Columns.Count
Columns(Dercol + 1 & ":IV").Delete
End Sub
Et bien figurez-vous que la macro plante sur la ligne rouge...
Pour info j'ai créer la macro dans le module car je passe par un bouton qui sera présent sur chaques feuilles (au nombre de 4 max).
D'ailleurs si quelqu'un connait une solution pour ne créer le bouton qu'une fois; tout en sachant qu'il est impossible de modifier la barre d'outils.

Cette macro a pour but de n'être utilisée qu'une fois pour diminuer la taille du fichier qui à l'heure actuelle fleure les 5Mo...
 

job75

XLDnaute Barbatruc
Re : Supprimer lignes et colonnes.

Bonsoir Twilight,

Dercol + 1 est un nombre, "IV" du texte alpha => incompatibles dans Columns.

Ecrire plutôt :

Code:
Range(Columns(Dercol + 1), Columns("IV")).Delete

Edit : l'utilisation de UsedRange pour compter lignes et colonnes suppose que la 1ère ligne et la 1ère colonne sont occupées, sinon...

A+
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Supprimer lignes et colonnes.

Bonsoir,
Dans un module standard
Code:
Sub SupLignVides()
Dim Sh As Worksheet, Dercol As Long, Derlign As Long
Application.ScreenUpdating = False
For Each Sh In ActiveWorkbook.Sheets
    With Sh
        .Activate
        Derlign = .UsedRange.Rows.Count + 1
        Dercol = .UsedRange.Columns.Count + 1
        .Rows(Derlign & ":65536").Delete
        .Range(Cells(1, Dercol), Cells(1, 256)).EntireColumn.Delete
    End With
Next
Application.ScreenUpdating = True

End Sub
A+
kjin
 

Tweelight

XLDnaute Nouveau
Re : Supprimer lignes et colonnes.

Edit : l'utilisation de UsedRange pour compter lignes et colonnes suppose que la 1ère ligne et la 1ère colonne sont occupées, sinon...

A+
Bonjour,
J'espère juste que l'on ne parle pas de $A$1. Cette cellule est vide mais le reste de la ligne 1 et de la colonne A sont remplis dans la mesure du possible...

Je teste les différentes solutions et je reviendrai certainement vers vous. Bonne journée.
 

Discussions similaires

Réponses
2
Affichages
517

Statistiques des forums

Discussions
312 506
Messages
2 089 114
Membres
104 037
dernier inscrit
damsau