Fonction Array valeur unique

Bonjour à tous, je rencontre un problème qui est le suivant :

Je cherche à identifier les colonnes pour ne garder que celles qui ne m'intéresse, pour ça j'utilise la fonction Array pour stocker les valeurs des colonnes. Tout marche correctement après avoir retourner internet! Enfin presque... puisque parmi ces valeurs on retrouve "C" , et le soucis est que mes colonnes peuvent aussi se nommer "Coûts" et je ne souhaite pas les conserver. Voici mon code et une capture d'écran pour illustrer mon propos :

Last_Col = .Cells(1, Columns.Count).End(xlToLeft).Column                        'Find the last column
Col = Array("C", "CL", "Cause", "Failure mode", "Mode de défaillance")      'Headers in an array

i = 1

Do While IsEmpty(Cells(1, i)) = False                           'Deleting of uninteresting columns
    For Each item In Col
         If InStr(Application.WorksheetFunction.Concat(Cells(1, i)), item) <> 0 Then
            To_be_delete = False
            i = i + 1
            Exit For
         Else
            To_be_delete = True
         End If
    Next
    If To_be_delete = True Then
        Columns(i).Delete
    End If
Loop
capture

Merci d'avance pour votre aide!

Bonjour Sergueï44,

Faire ainsi, ce sera moins compliqué.

Sub Effcol()
Last = Cells(1, Columns.Count).End(xlToLeft).Column
Col = "C_CL_Cause_Failure mode_Mode de défaillance_"
For B = 1 To Last
If InStr(Col, Cells(1, B) & "_") = 0 Then Columns(B).Delete
Next B
End Sub

Merci infiniment pour cette réponse, je me rends compte qu'en effet il existait une méthode bien plus simple que celle que j'avais bidouillé! Encore merci, passer une très bonne journée :)

Rechercher des sujets similaires à "fonction array valeur unique"