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

XL 2016 supprimer colonnes

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 !

pbruno

XLDnaute Nouveau
Bonjour à tous,

j'aimerais supprimer les colonnes où il n'y a pas de noms sur la 1 ere ligne et si c'est possible avoir la même mise en page que sur la feuille résultat, c'est à dire ne gardant une ligne vide au dessus et une vingtaine de colonne.

Je n'arrive pas à trouver la solution.

Merci pour votre aide
 

Pièces jointes

Bonsoir Pbruno,
Un essai en PJ avec :
VB:
Sub Nettoyer()
Dim DerCol%, C%
Application.ScreenUpdating = False
DerCol = Cells(2, Cells.Columns.Count).End(xlToLeft).Column
For C = DerCol To 2 Step -1
    If Cells(2, C) = "" Then
        Columns(C).Delete Shift:=xlToLeft
    End If
Next C
With ActiveSheet.UsedRange: End With
End Sub
 

Pièces jointes

Bonsoir le fil,

J'y suis allé au feeling
(en me basant sur la 1ere phrase du 1er message)
VB:
Sub Supprimer_Bis()
Rows("1:1").SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
End Su
=>sylvanu
J'ai bon?
Ca fait le job?
Où j'aurai du ouvrir la PJ? 😉
 
Re,
Oui, j'ai éssayé ça marche.
Mais sur la PJ de Pbruno il reste des colonnes où la cellule xx2 est vide, avec :
VB:
Sub Supprimer_Bis()
    Rows("2:2").SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
End Sub
J'avoue ne pas bien comprendre pourquoi. Voir PJ, en ligne 2 il ne doit plus y avoir de cellules vides.
 

Pièces jointes

Re

=>sylvanu
Actuellement je suis limité à IV
Donc je ne trouve que celles-ci comme vides.
VB:
Sub Macro1()
Dim vides
vides = Split(Rows("2:2").SpecialCells(xlCellTypeBlanks).Address, ",")
Sheets.Add
Cells(1).Resize(UBound(vides) + 1) = Application.Transpose(vides)
End Sub
 
@Staple,
Et le fichiers a 616 colonnes.
Ceci dit il devrait marcher sur le mien. Mais il bloque à la colonne 66 ( d'origine ) qui se retrouve en colonne 39. Il ne va même pas jusqu'à la colonne 256.
En PJ après avoir passé votre macro. En ligne 11 il y a les N° de colonnes avant la macro.
 

Pièces jointes

Re

Bizarre, vous avez dit bizarre? 😱
Code:
Sub WTF()
Dim t, i%, vides$
For i = 1 To 256
If Len(Cells(2, i)) = 0 Then
vides = vides & "," & Cells(2, i).Address
End If
Next
t = Split(vides, ",")
Sheets.Add
Cells(1).Resize(UBound(t)
+1) = Application.Transpose(t)
End Sub
 
Bonsoir pbruno, JM, sylvanu,

Il y a 2 choses à bien comprendre :

- en ligne 2 il y a des cellules vides mais aussi des textes vides ""

- il y a des formules.

Donc il ne faut pas supprimer des colonnes mais les masquer, voyez le fichier joint et la macro :
VB:
Sub MAJ()
With Feuil7 'CodeName de le feuille de destination
    Feuil5.Cells.Copy .[A1] 'copie-colle tout
    .[A1].Copy .[A1] 'allège la mémoire
    .DrawingObjects.Delete 'supprime les objets
    With .Range("A1", .UsedRange).Rows(1)
        .FormulaR1C1 = "=1/(COLUMN()>1)/(R[1]C="""")"
        On Error Resume Next 'si aucune SpecialCell
        .SpecialCells(xlCellTypeFormulas, 1).EntireColumn.Hidden = True 'masque les colonnes avec 1
        .ClearContents
    End With
    .Activate 'facultatif
End With
End Sub
A+
 

Pièces jointes

- 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

Discussions similaires

Réponses
10
Affichages
227
Réponses
6
Affichages
159
Réponses
6
Affichages
173
  • Question Question
Power Query Power Query
Réponses
26
Affichages
575
Réponses
6
Affichages
211
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…