Suppression colonnes vides

  • Initiateur de la discussion Initiateur de la discussion droopyjj
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

droopyjj

Guest
Bonjour à tous,
Je suis un nouveau inexpérimenté dans les forums.
Voici ma question.
J'ai Excel 2007 et je souhaiterais automatiser la suppression de colonne horizontale vide.
J'ai trouvé ceci qui me supprime des colonnes verticales:

Sub sup_col_vides()
Dim c
For c = 256 To 1 Step -1
If Cells(65536, c).End(xlUp).Row = 1 Then Cells(1,c).EntireColumn.Delete
Next c
End Sub

Pouvez-vous m'indiquer les modifications à faire pour arriver à mes fins

Merci à tous😛
 
Re : Suppression colonnes vides

Bonjour et bienvenue

je n'ai pas tout compris ---> colonnes Horizontales

Sur ta plage tu as des trous et tu veux tout ramener vers la gauche ?

Code:
Sub essai()
    Dim maplage As Range, mescel As Range
    Set maplage = Sheets("Feuil1").Range("A1:Z26") ' exemple de plage
    Set mescel = maplage.Cells.SpecialCells(xlCellTypeBlanks)
    mescel.Delete xlToLeft
End Sub
 
Re : Suppression colonnes vides

Merci de ta réponse,
Non, en fait j'ai un tableau dans lequel il y a des lignes horizontales vides entre des lignes dans lesquelles j'ai des informations
Je souhaiterais supprimer les colonnes vides
je sais pas si c'est clair?
EX:
1 X X X
2 VIDE VIDE VIDE
3 X X X
4 VIDE VIDE VIDE

Cordialement
 
Re : Suppression colonnes vides

re:

je ne suis pas sur d'avoir tout compris (en rouge ce que j'ai ajouté)

Code:
Sub essai()
    Dim maplage As Range, mescel As Range
    Set maplage = Sheets("Feuil1").Range("A1:Z26") ' exemple de plage
    Set mescel = maplage.Cells.SpecialCells(xlCellTypeBlanks)
    mescel.[COLOR="Red"]entirecolumn[/COLOR].Delete xlToLeft
End Sub
 
Re : Suppression colonnes vides

Bonjour,

Une colonne c'est bien verticale
Une ligne par définition c'est horizontale

Comme dans un deuxième message tu montre des lignes avec vides tu veux peut être supprimer les lignes je t'ai mis les 2 cas

Je n'ai pas 2007, mais ta macro me semble être une bonne base. J'ai apporté quelques modification.

Range("IV1").End(xlToLeft).Column = recherche de la dernière colonne en se basant sur la ligne 1 (supposée contenir des entêtes). IV est la colonne maxi avant 2007

explication pour la supression de colonne:
Cells(65536, C).End(xlUp).Row pour reperer la dernière ligne de la colonne. le chiffre 65536 est le nombre maxi de ligne avant 2007
Columns(C).Delete : delete de la colonne C


Code:
Sub sup_col_vides()
Dim C As Long
For C = Range("IV1").End(xlToLeft).Column To 1 Step -1
    If Cells(65536, C).End(xlUp).Row <= 1 Then Columns(C).Delete
Next C
End Sub

Sub sup_Ligne_vides()
Dim L As Long
For L = Range("A65536").End(xlUp).Row To 1 Step -1
    If Cells(L, 256).End(xlToLeft).Column <= 1 Then Rows(L).Delete
Next L
End Sub

tu devrais trouver ton bonheur
GIBI
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
932
Retour