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

Supprimer colonnes

SandraSSQ

XLDnaute Nouveau
Bonjour,

Je suis débutante en VBA et j'aimerais faire une macro qui supprime les colonnes dans une feuille excel automatiquement. Par contre les colonnes à enlever ne sont pas toujours les mêmes et sont énuméré dans une autre feuille du fichier par un identifiant de la colonne (le nombre de colonne à enlever peut varier). Ci-joint, un exemple très simplifié du fichier. J'avais pensé utiliser un Do while avec un Hlookup mais je ne suis pas certaine.

Merci beaucoup pour votre aide!
 

Pièces jointes

  • Exemple.xlsx
    8.6 KB · Affichages: 49
  • Exemple.xlsx
    8.6 KB · Affichages: 51
  • Exemple.xlsx
    8.6 KB · Affichages: 57

Modeste

XLDnaute Barbatruc
Re : Supprimer colonnes

Bonsoir SandraSSQ,

A tester, ce code dans un module standard:
VB:
Sub SupprCol()
With Sheets("Liste")
    For Each c In .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
        col = Application.Match(c, Sheets("VU").Range("1:1"), 0)
        If Not IsError(col) Then Sheets("VU").Columns(col).Delete
    Next c
End With
End Sub
 

laurent950

XLDnaute Accro
Re : Supprimer colonnes

Bonsoir SandraSSQ


Voici un bout de code :

Sub Macro1()
'
' Macro1 Macro
'

Dim Vu As Worksheet
Dim Liste As Worksheet

Set Vu = Worksheets("VU")
Set Liste = Worksheets("Liste")

' Derniere cellule non vide de la ligne (VU = Ligne 1)
finvu = Vu.Range("XFD1").End(xlToLeft).Column
finliste = Liste.Range("A65536").End(xlUp).Row

For i = 1 To finliste
For j = 1 To finvu
If Liste.Cells(i, 1) = Vu.Cells(1, j) Then
'MsgBox Left(Columns(Vu.Cells(1, j).Column).Address, InStr(Columns(Vu.Cells(1, j).Column).Address, ":") - 1) & 1
'Vu.Cells(1, j).Column
Range(Left(Columns(Vu.Cells(1, j).Column).Address, InStr(Columns(Vu.Cells(1, j).Column).Address, ":") - 1) & 1).Select
Selection.EntireColumn.Delete
End If
Next j
Next i

End Sub

laurent
 

Discussions similaires

Réponses
2
Affichages
231
Réponses
22
Affichages
936
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…