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

2 réponses

  1. danielc0 Messages postés 2176 Date d'inscription   Statut Membre Dernière intervention   286
     

    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
    1. CBRiste31 Messages postés 84 Statut Membre 3
       

      Bonjour Daniel et surtout un grand merci ! :-)  

      Ça fonctionne parfaitement !!! 

      Cdlt,

      Gexelpas

      0
  2. CBRiste31 Messages postés 84 Statut Membre 3
     

    Bonjour Daniel et surtout un grand merci ! :-)  

    Ça fonctionne parfaitement !!! 

    Cdlt,

    Gexelpas

    0