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

Suppression automatique de colonnes vides

  • Initiateur de la discussion Initiateur de la discussion emmanuel75
  • 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 !

E

emmanuel75

Guest
Bonjour chers excelnautes,

Je n'ai pas réussi à créer une macro qui me supprimerait des colonnes vides d'un tableau afin d'obtenir "un tableau plein"...pour les courageux je transmets un exemple de mon tableau en pièce jointe...

Merci d'avance pour la moindre petite aide.

Emmanuel
 

Pièces jointes

Re : Suppression automatique de colonnes vides

Salut Emmanuel75,

Essaye ce code ci
Code:
Sub SupColVide()
  Dim Col As Integer, DerCol As Integer
  ' Trouver la dernière colonne du tableau
  DerCol = Range("IV2").End(xlToLeft).Column
  ' De la dernière colonne vers la 3ème
  For Col = DerCol To 3
    ' Si l'entête du tableau est vide
    If Cells(2, Col).Value = "" Then
      ' On supprime la colonne
      Columns(Col).Delete
    End If
  Next Col
End Sub

A+
 
Re : Suppression automatique de colonnes vides

Bonjour BrunoM45,

En fait, la macro se "passe", aucun message d'erreur, mais aucune colonne n'est supprimée...je ne vois pas pourquoi...le code a l'air simple et élégant...
 
Re : Suppression automatique de colonnes vides

bonjour,

en fait il manque un tout petit truc dans la macro de bruno :

Code:
Sub SupColVide()
  Dim Col As Integer, DerCol As Integer
  ' Trouver la dernière colonne du tableau
  DerCol = Range("IV2").End(xlToLeft).Column
  ' De la dernière colonne vers la 3ème
  For Col = DerCol To 3 [B][COLOR="Red"]Step -1[/COLOR][/B]
    ' Si l'entête du tableau est vide
    If Cells(2, Col).Value = "" Then
      ' On supprime la colonne
      Columns(Col).Delete
    End If
  Next Col
End Sub

a+
 
Re : Suppression automatique de colonnes vides

Bonjour,

ci-joint une autre solution.

Sub Test()
Set MaZone = Range(Range("C2"), Range("IV2").End(xlToLeft))
If Application.CountBlank(MaZone) > 0 Then MaZone.SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
End Sub
 

Pièces jointes

Re : Suppression automatique de colonnes vides

Merci à vous tous....j'ai testé les deux macros celle de Catrice et celle de mromain çà marche très bien ...GRAND MERCI à tous...

Emmanuel
 
Re : Suppression automatique de colonnes vides

bonjour

code adapté de celui que donne l'enregistreur de macro 😉
Code:
Sub Macro1()
ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End Sub
 
Re : Suppression automatique de colonnes vides

vbacrumble,

Sub Macro1()
ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End Sub


Attention avec cette méthode, s'il y a des cellules vides dans les colonnes => surprises 😀

Voir le fichier joint
 

Pièces jointes

Dernière édition:
- 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

  • Question Question
XL 2021 Formulaire
Réponses
7
Affichages
636
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…