XL 2016 supprimer colonnes

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

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

Staple1600

XLDnaute Barbatruc
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
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Avec la macro #7, il y a une partie correcte jusqu'à BC2, mais il manque toute la suite.
( en s'arrêtant à 256 colonnes )
Donc il y a bien un souci. Bizarre.

1608757428814.png
 

Staple1600

XLDnaute Barbatruc
Re

Bizarre, vous avez dit bizarre? :eek:
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
 

job75

XLDnaute Barbatruc
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

Discussions similaires

  • Question Question
Microsoft 365 masquer colonne + MDP
Réponses
2
Affichages
465
Réponses
32
Affichages
1 K
Réponses
22
Affichages
1 K
  • Question Question
XL pour MAC Report de valeur
Réponses
10
Affichages
695
Réponses
4
Affichages
164
Réponses
2
Affichages
354

Statistiques des forums

Discussions
315 297
Messages
2 118 161
Membres
113 439
dernier inscrit
Santino007