MACRO pour suppression de colonnes selon un critère

Résolu
CBRiste31 Messages postés 84 Statut Membre -  
CBRiste31 Messages postés 84 Statut Membre -

Bonjour,

Je souhaiterais, par le biais d'une macro, supprimer des colonnes dont le titre de colonne ne correspond pas à la valeur spécifiée dans la cellule d'un autre onglet.

Ci-joint, un extrait du type de fichier concerné.

https://uploadnow.io/f/d47cK2K

Il y'a toujours le même nombre de colonnes, mais le nombre de lignes peut varier.

Dans cet exemple,

En feuille1, cellule A1, le critère: guy

En feuille 2, la plage sur laquelle la macro doit être appliquée  (attention, plusieurs colonnes guy avec pour chacune des informations différentes).

En feuille 3, le résultat attendu (Colonnes A, B et C sont conservées, puis seules les colonnes guy sont également conservées, les autre étant supprimées).

Merci d'avance pour votre contribution et vos suggestions qui, j'en suis sûr, vont bien m'aider à automatiser cette tâche.

Cdlt,

gexelpas


Windows / Chrome 109.0.0.0

A voir également:

2 réponses

danielc0 Messages postés 1946 Statut Membre 238
 

Bonjour,

Essaie :

Sub test()
  Dim C As Range, Plage As Range, Titres As Range, D As Range
  With Sheets("Feuil1")
    Set Plage = .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
  End With
  With Sheets("Feuil2")
    Set Titres = .Range("D2", .Cells(2, .Columns.Count).End(xlToLeft))
    For Each C In Plage
      For i = .Cells(2, .Columns.Count).End(xlToLeft).Column To 4 Step -1
        If C <> .Cells(2, i) Then .Cells(2, i).EntireColumn.Delete
      Next i
    Next C
  End With
End Sub

Si tu as des problèmes avec les macros, dis-le.

Daniel


1
CBRiste31 Messages postés 84 Statut Membre 3
 

Bonjour Daniel et surtout un grand merci ! :-)  

Ça fonctionne parfaitement !!! 

Cdlt,

Gexelpas

0
CBRiste31 Messages postés 84 Statut Membre 3
 

Bonjour Daniel et surtout un grand merci ! :-)  

Ça fonctionne parfaitement !!! 

Cdlt,

Gexelpas

0